题目描述
输入两个字符串 S 和 L,都只包含英文小写字母。S 长度<=100,L 长度<=500,000。
判定 S 是否是 L 的有效子串。
判定规则:
S 中的每个字符在 L 中都能找到(可以不连续),且 S 在L中字符的前后顺序与 S 中顺序要保持一致。
(例如,S=”ace”是 L=”abcde”的一个子序列且有效字符是 a、c、e,而”aec”不是有效子序列,且有效字符只有 a、e)
输入描述
输入两个字符串 S 和 L,都只包含英文小写字母。S 长度<=100,L 长度<=500,000。
先输入 S,再输入 L,每个字符串占一行。
输出描述
S 串最后一个有效字符在 L 中的位置。(首位从 0 开始计算,无有效字符返回-1)
示例一
输入输出示例仅供调试,后台判题数据一般不包含示例
输入
ace
abcde
输出
4
示例二
输入输出示例仅供调试,后台判题数据一般不包含示例
输入
fgh
abcde
输出
-1
考点
字符串处理
解题思路
1.查找S中的第一个字符在L中的位置p1,若p1存在,然后从L的p1位置之后查找S的第二个字符
是否存在;
2.依此类推,直到S中的最后一个字符都在L中存在,则输出其在L中的下标。
11-11
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交