解法一:
class Solution {
public:
bool isSubsequence(string s, string t) {
int j = s.length();
for(int i = t.length(); i >= 0; i--){
if(s[j] == t[i]){
j--;
if(j < 0) return true;
}
}
return false;
}
};
解法二:
class Solution {
public:
bool isSubsequence(string s, string t) {
vector<vector<int>> dp(t.length() + 1, vector<int>(s.length() + 1, 0));
for(int i = 1; i <= t.length(); i++){
for(int j = 1; j <= s.length(); j++){
if(t[i - 1] == s[j - 1])
dp[i][j] = dp[i - 1][j - 1] + 1;
else
dp[i][j] = dp[i - 1][j];
}
}
if(dp[t.length()][s.length()] == s.length())
return true;
else return false;
}
};