背景:小紫书习题,开始数组开小了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; }
原文地址:http://blog.csdn.net/jibancanyang/article/details/42619681