2023华为od机试真题B卷 Python 实现【增强的strstr函数】

前言

本文章使用python解答,如果需要Java版本,请参考以下链接:
Java版本

题目

请你实现一个增强版的strstr函数,他的功能是使用带有可选段的字符串进行模糊查询。与strstr函数相同,该函数在源字符串中查找第一次出现目标字符串的位置,并返回相对于源字符串地址的偏移量。

可选段使用"[]"标识,表示该位置可以匹配可选段中的任意一个字符。例如,"a[bc]“表示可以匹配"ab"或"ac”。

输入描述:

输入参数与strstr函数相同,分别为源字符串和目标字符串的指针。

输出描述:

与strstr的不同之处在于,返回的源字符串中匹配子字符串相对于源字符串地址的偏移量(这个偏移量从0开始计算)。如果没有匹配,则返回-1。

补充说明:

源字符串中不包含"[]“,目标字符串中的”[]"会成对出现且不会嵌套。

输入的字符串长度在[1, 100]之间。

示例1:

输入:

abcd
b[cd]

输出:

1

说明:

相当于在源字符串中查找"bc"或"bd","bc"相对于"abcd"的偏移量为1。

代码


你可能感兴趣的:(华为od,python,开发语言)