1. 题目描述——字符串旋转结果
写一个函数,判断一个字符串是否为另外一个字符串旋转之后的字符串。
例如:给定s1 =AABCD和s2 = BCDAA,返回1
给定s1=abcd和s2=ACBD,返回0.
AABCD左旋一个字符得到ABCDA
AABCD左旋两个字符得到BCDAA
AABCD右旋一个字符得到DAABC
2. 思路
- 最直接的就是把字符串每左旋一次就比较一次
- 一个巧妙思路:给第一个字符串后面再追加一个本字符串,然后判断,第二个字符串是否是第一个字符串的子串(注意要先确定两个字符串个数是否相同,不同就直接返回0了)
库函数——strcat()
库函数——sterncat()
库函数——strstr()
3. 代码实现1——每左旋一次,就进行比较
//判断一个字符串是否是另一个字符串左旋得到的
#include<stdio.h>
#include<string.h>
void leftStr(char str[], int size, int num)
{
char tem = str[0];
int i = 0;
for (i = 0; i < size; i++)
{
str[i] = str[i + 1];
}</