Problem
https://uva.onlinejudge.org/external/103/10340.pdf
Thinking
其實只是在t
字串裡有沒有s
字串裡的所有字母, 且順序關係要和s
一樣
比如說:
- t = abcde s = abe 是合法的
- t = abcde s = dc 就不合法 雖然
t
字串裡有s
的所有字母,但是順序關係不同
Solution
#include <iostream>
#include <string>
using namespace std;
void solve(string s,string t)
{
int sPointer,tPointer;
sPointer = tPointer = 0;
while(sPointer < s.length() && tPointer < t.length())
{
if(s[sPointer] == t[tPointer]){
sPointer++;
tPointer++;
}else{
tPointer++;
}
}
if(sPointer != s.length())
cout << "No" << endl;
else
cout << "Yes" << endl;
}
int main()
{
string s,t;
while(cin >> s >> t){
solve(s,t);
}
return 0;
}
网友评论