当前位置:   article > 正文

C语言字符串数组的左旋概念及模拟实现_左旋 右旋的原理和代码实现

左旋 右旋的原理和代码实现

在c语言中,数组存在左旋,右旋的概念,所谓左旋,例如字符串ABCDE,左旋一位得到的就是BCDEA,旋转6位得到的是DCBAE左移一次就是把最左边的一位移到最右边

右旋:ABCDE,右旋一位就是EABCD,以此类推,下面模拟实现一则字符串的左旋

int find_move(char* str1, char* str2)
{
    if (strlen(str1) != strlen(str2))
    {
        return 0;
    }
    int len = strlen(str1);
    //str1后面追加一个str1,len为追加的个数
    strncat(str1, str1, len);

    //判断str2是否为str1的子集
    char* ret = strstr(str1, str2);

    return ret != NULL;//不等于空值返回1
}
int main()
{
    char arr1[20] = "AABCD";
    char arr2[] = "BCDAA";
    int ret = find_move(arr1, arr2);
    if (ret == 1)
    {
        printf("yes\n");
    }
    else
    {
        printf("no\n");
    }
    return 0;
}

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号