poj1936---subsequence(判断子串)

#include<stdlib.h>

#include<stdio.h>



int main()

{

    char s[100001],t[100001];

    char *p1,*p2;

    while(scanf("%s%s",s,t)!=EOF)

    {

        p1=s;

        p2=t;

        while(*p1 && *p2)

        {

            if(*p1 != *p2)

                p2++;

            else

            {

                p2++;

                p1++;

            }

        }

        if(*p1=='\0')

            printf("Yes\n");

        else

            printf("No\n");

    }

    return 0;

}

题意:判断s是不是t的字串

s: abcde

t:bcdefasdfsdfasdfsd

让s和t的左边对齐

p1指向a     p2指向b

如果不等,让p2右移,直到找到,然后两个指针同时右移

有三种情况:

*p1 是 \0  *p2 是  \0

*p1 是 \0  *p2 不是\0

*p1 不是\0   *p2是\0

*p1是\0就一定将s串走完了 Yes 

你可能感兴趣的:(sequence)