zoukankan      html  css  js  c++  java
  • 判断一个字符串是否为另外一个字符串旋转之后的字符串。

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

    AABCD左旋一个字符得到ABCDA
    AABCD左旋两个字符得到BCDAA
    AABCD右旋一个字符得到DAABC

     1 #include<stdio.h>
     2 #include<string.h>
     3 
     4 void Left_rotate(char* start, char* end)
     5 {
     6     //ABCD
     7     //BACD
     8     while (*end != '')
     9     {
    10         *start = *start^*end;
    11         *end = *start^*end;
    12         *start = *start^*end;
    13         ++start;
    14         ++end;
    15     }
    16 }
    17 
    18 int Find_str(char* str,char* str1)
    19 {
    20     int k = strlen(str);
    21     while (k--)
    22     {
    23         if (strcmp(str, str1) == 0)
    24         {
    25             return 1;
    26         }
    27         else
    28         {
    29             Left_rotate(str, str + 1);
    30         }
    31     }
    32     return 0;
    33 }
    34 
    35 int main()
    36 {
    37     char str[100];
    38     char str1[100];
    39     printf("请输入一段字符串:
    ");
    40     scanf("%s", &str);
    41     printf("请输入要判断的字符串:
    ");
    42     scanf("%s",&str1);
    43     int find = Find_str(str, str1);
    44     printf("%d",Find_str(str,str1));
    45 
    46     return 0;
    47 }
  • 相关阅读:
    mysql innodb ini
    innodb_flush_method
    mysql查询缓存
    查看表的索引
    mysql key PRI UNI MUL
    E160028
    mysql命令
    No identifier specified for entity
    在画图板中添加文本并更改文本颜色
    在Windows资源管理器中预览PowerShell文件
  • 原文地址:https://www.cnblogs.com/cuckoo-/p/10387601.html
Copyright © 2011-2022 走看看