很简单的题目,遍历字符串对比即可
需要注意的点就是记录 m和sam相同的下标时需要将遍历sam字符串的下标+1,防止m中有相邻重复的字符。
代码如下:
#include <bits/stdc++.h>
using namespace std;
void divideandjudge(string m, string sam) {
int l = m.size();
int len = sam.size();
int i, j;
int mid = 0;
int f = 0;
if (len < l) {
cout << "No" << endl;
} else {
for (i = 0; i < l; i++) {
for (j = mid; j < len; j++) {
if (m[i] == sam[j]) {
mid = j + 1;//注意要将mid的值变为j+1
f++;
break;
}
}
}
if (f == l) cout << "Yes" << endl;
else cout << "No" << endl;
}
}
int main() {
string m, q;
while (cin >> m >> q) {
divideandjudge(m, q);
}
return 0;
}