题解 | #藏宝图#
藏宝图
http://www.nowcoder.com/practice/74475ee28edb497c8aa4f8c370f08c30
#include<stdio.h>
#include<iostream>
#include<string>
using namespace std;
bool judge(string str1, string str2)
{
int i=0, j=0;
//如果两个字符串都为空或者第二个字符串为空
if((str1.size()==0 && str2.size()==0) || str2.size()==0) return true;
if(str1.size() < str2.size()) return false;
while(j < str2.size() && i < str1.size())
{
//从第一个字符串那找 首个和第二个字符串相应字符相等的字符
while(i<str1.size() && str1[i]!=str2[j]) i++;
if(i<str1.size() && j<str2.size())
{
i++;
j++;
}
}
return j==str2.size();
}
int main()
{
string str1, str2;
cin >> str1;
cin >> str2;
if(judge(str1, str2)) cout << "Yes" <<endl;
else cout << "No" <<endl;
return 0;
}