这道题直接依次比较字符就行了,相等就移动,如果s先移完,那说明是子串,如果t先移完,说明不是
class Solution {
public:
bool isSubsequence(string s, string t) {
if (s.size() == 0)
return 1;
if (t.size() == 0)
return 0;
int j = s.size() - 1;
for (int i = t.size() - 1; i >= 0; --i)
{
if (s[j] == t[i])
--j;
if (j < 0)
return 1;
}
return 0;
}
};
本文介绍了一种用于判断字符串s是否为字符串t的子串的有效算法。该算法通过从后向前遍历的方式,逐个比较两个字符串中的字符来实现。若所有字符匹配成功且s遍历完毕,则s为t的子串。
1万+

被折叠的 条评论
为什么被折叠?



