poj1936--暴力解法

求s1是否是s2的子串。

分析:

例如sequence 和 subsequence 。

从头开始比较,s1[0]与s2[0]相同,那么它们下标都可+1,接着比较s1[1]和s2[1],不相同;这时应该保证s1[1]不动,而把s2下标+1.直到s1,s2下标移动到最后一位,若s1下标移动到了最后一位,显然判定成功了;如果s2下标到了最后一位,而s1没有,那么没有判定成功。

#include<iostream>
#include<string>
using namespace std;
int main(){
    string a,b;
    int i,j;
    while(cin>>a>>b){
        i=0;j=0;
        while(1){
            if(a[i]==b[j]){
                i++;j++;
            }
            else
            j++;
            if(i==a.length()){
                cout<<"Yes"<<endl;break;
            }
            if(i<a.length()&&j==b.length()){
                cout<<"No"<<endl;break;
            }
        }
    }
    return 0;
}

 

posted on 2015-10-24 19:08  T~Z  阅读(336)  评论(0编辑  收藏  举报