背景:小紫书习题,开始数组开小了runtime error了一次,显然数组越界。复杂度: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\n");
else printf("No\n");
}
return 0;
}