2023华为od机试统一考试B卷【增强字符串】

前言

本题使用的Java语言,如果需要python语言,请参考以下链接:
python版本题解

题目描述

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

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

输入描述:

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

输出描述:

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

补充说明:

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

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

示例1:

输入:

abcd
b[cd]

输出:

1

说明:

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

思路

可以将目标字符串进行拆分处理

你可能感兴趣的:(华为od,华为机试)