判断子串问题

1.问题描述
判断s2是否是s1的子串
2.编程分析
从s1字符串的第一个字符开始,依次与s2的字符串的各个字符比较,若均相同,则s2是s1的子串;否则再从s1的下一个字符(第二个字符)开始,依次与s2字符串的各个字符作比较…设k1,k2分别为s1串,s2串的长度,那么最后一次应从s1的第k1-k2+1个字符开始(即s1[k1-k2]),依次与s2的各个字符比较,若存在不同字符,则s2肯定不是s1的子串。

用C语言实现代码如下:

#include 
#include 
int main()
{
	char s1[80],s2[80];
	int i,j,k,k1,k2,flag;
    printf("输入第一个字符串:");
    gets(s1);
    printf("输入第二个字符串:");
    gets(s2);
    k1=strlen(s1);
    k2=strlen(s2);
    flag=0;
    i=0;
    while(i

你可能感兴趣的:(LeetCode)