题目描述
我们称一个字符串 S 包含字符串 T是指 T是S 的一个子序列,即可以从字符串 S中抽出若干个字符,它们按原来的顺序组合成一个新的字符串与 T完全一样。
给定两个字符串 S和 T,请问 T 中从第一个字符开始最长连续多少个字符 被 S 包含?
输入描述
输入两行,每行一个字符串。第一行的字符串为 S,第二行的字符串为 T。两个字符串均非空而且只包含大写英文字母。
其中,1≤∣T∣≤∣S∣≤1000。
输出描述
输出一个整数,表示答案。
输入输出样例
示例
输入
ABCDEABCD AABZ
输出
3
code:
#include<iostream>
#include<string>
using namespace std;
string str1,str2;
int count=0;
int main()
{
cin>>str1;
cin>>str2;
int i=0,j=0;
//逐个进行比对
while(j<str2.size()&&i<str1.size())
{
//相同同时移动
if(str1[i]==str2[j])
{
count++;
i++;
j++;
}
//不相同在str1中遍历下一位
else
i++;
}
cout<<count;
return 0;
}