给定字符串 s 和 t ,判断 s 是否为 t 的子序列。
字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。
class Solution {
public:
bool isSubsequence(string s, string t) {
if(s==t) return true;
if(s.size()>t.size()) return false;
for( int i = 0,j = 0;i<s.size();)
{
if(s[i]==t[j])
{
i++;
j++;
}
else
{
while(s[i]!=t[j]&&j<t.size())
{
j++;
}
if( j < t.size()-1||(i==s.size()-1 && j==t.size()-1))
{
i++;
j++;
}
else
return false;
}
}
return true;
}
};
思路:有点乱