1 Star 0 Fork 0

xyk/c语言代码

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
test.8.10.c 854 Bytes
一键复制 编辑 原始数据 按行查看 历史
你的名字或昵称 提交于 2022-10-20 11:38 . 判断字符串旋转
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <string.h>
#include <assert.h>
void reverse(char* left, char* right) {
assert(left != NULL);
assert(right != NULL);
while (left < right) {
char temp = *left;
*left = *right;
*right = temp;
left++;
right--;
}
}
void left_move(char* p, int m) {
assert(p);
int len = strlen(p);
assert(m <= len);
reverse(p, p + m - 1);
reverse(p + m, p + len - 1);
reverse(p, p + len - 1);
}
int is_left_move(char* str1, char* str2) {
int len = strlen(str1);
int i = 0;
for (i = 0; i < len; i++) {
left_move(str1, 1);
int ret = strcmp(str1, str2);
if (ret == 0) {
return 1;
}
}
return 0;
}
int main() {
char arr1[] = "abcdef";
char arr2[] = "cdefab";
int ret = is_left_move(arr1, arr2);
if (ret == 1) {
printf("YES\n");
}
else {
printf("NO\n");
}
return 0;
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C
1
https://gitee.com/ABC18045315897/c-language-code.git
git@gitee.com:ABC18045315897/c-language-code.git
ABC18045315897
c-language-code
c语言代码
master

搜索帮助