UVa 10340文字列ベース


背景:小紫書の練習問題では、配列が小さくなってruntime errorが1回開き、明らかに配列が境界を越えた.複雑度:O(max(Aの長さ、Bの長さ)).
标题:文字列Aが文字列Bの子列かどうかを見る.直接順番にスキャンすればいいです.
#include<stdio.h>
#include<string.h>
char str[1000000],ttr[1000000];
int main(void){
	while(scanf("%s %s",str,ttr)!=EOF){
		int j=0,sj=strlen(str);
		for(int i=0;i<strlen(ttr);i++){
			if(ttr[i]==str[j]){
				j++;
			}
		}
		if(j==sj) printf("Yes
"); else printf("No
"); } return 0; }