题解 | #藏宝图#
藏宝图
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; }