题目链接:https://leetcode.cn/problems/is-subsequence/
题目如下:
class Solution {
public:
bool isSubsequence(string s, string t) {
int n=s.size(),m=t.size();
vector<vector<int>> dp(n+1,vector<int>(m+1,0));
//dp[i][j]:以i-1为结尾的子序列 和 以j-1为结尾的原序列 具有相同的子序列的长度
for(int i=1;i<n+1;i++){//目标序列
for(int j=1;j<m+1;j++){//原序列
if(s[i-1]==t[j-1]) dp[i][j]=dp[i-1][j-1]+1;//若s[i-1]==t[j-1],则在原基础上+1
else dp[i][j]=dp[i][j-1];//若不相同,则保持上次的值,继续匹配
}
}
if(dp[n][m]==s.size()) return true;
return false;
}
};