思路
题目要求 $t$ 是从头开始匹配,所以我们可以使用贪心的思想。在 $s$ 中找到匹配 $t$ 的字符,位置越靠前越好。
于是这道题就做完了。
代码
#include <iostream>
#include <string>
using namespace std;
int ans = 0;
string s, t;
int main()
{
cin >> s >> t;
for (int i = 0, j = 0; i < t.size() && j < s.size(); j++)//枚举s[j]
if (t[i] == s[j])//看t[i]与s[j]是否对应
ans++, i++;//如果对应上了,那么成功匹配的个数++,接下来匹配t中的下一个字符
cout << ans << endl;
return 0;
}