首页 > 其他 > 详细

判断一个字符串是否为另外一个字符串旋转之后的字符串。

时间:2016-04-19 20:15:52      阅读:208      评论:0      收藏:0      [点我收藏+]

判断一个字符串是否为另外一个字符串旋转之后的字符串。

例如:给定s1 = AABCD和s2 = BCDAA,返回1,给定s1=abcd和s2=ACBD,返回0.

#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
#include<string.h>

char *my_strncat(char *dest, const char *src, size_t count)
{
    assert(dest);
    assert(src);
    char *ret = dest;
     
    while (*dest)
    {
        dest++;
    }
    while (count--)
    {
        *dest++ = *src++;
    }
    *dest = ‘\0‘;
    return ret;
}

char *my_strstr(char *str1, const char *str2)//
{
    char*ptr = str1;
    char*p1 = NULL;
    char*p2 = NULL;
     
    while (*ptr)
    {
        p1 = ptr;
        p2 = str2;
        while (*p1 == *p2)
        {
            p1++;
            p2++;
            if (*p2 == ‘\0‘)
            {
                return ptr;
            }
        }
        ptr++;
    }
    return NULL;

}

int main()
{
    char arr[20] = "abcdef";//预留空间
    char *p = "cdefab";
    int len = strlen(arr);
     
    my_strncat(arr, arr, len);
    char*ch=my_strstr(arr, p);
     
    if (ch != NULL)
    {
        printf("%p\n", ch);
        printf("%s", ch);
    }
    else
    {
        printf("not  exit");
    }
     
    system("pause");
    return 0;
}


判断一个字符串是否为另外一个字符串旋转之后的字符串。

原文:http://940814wang.blog.51cto.com/10910665/1765433

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!