题目意思:如果第一个字符串里的数字在第二个中能依次找到,输出yes,否则,输出no
思路:运用find函数即可非常方便
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
using namespace std;
int main(){
string s1,s2;
while(cin >> s1 >> s2){
int len = s1.length();
int f=1,k=0;
for(int i=0;i<len;i++){
if(s2.find(s1[i],k)!=string::npos) {
k=s2.find(s1[i],k)+1;
}
else {
f=0;
break;
}
}
if(f) cout << "Yes" << endl;
else cout << "No" << endl;
}
return 0;
}
讲一下find()函数用法:
find()函数有两个参数,第一个是要查找的字符,第二个是起始的位置。不输第二个默认从头开始。头文件string
find(str,position)
返回值为目标字符的位置,当没有找到目标字符时返回string::npos。(或-1)