字符串操作:左旋转字符串,右旋转字符串,判断一个字符串是否是另一个字符串旋转所得
来源:互联网 发布:淘宝联盟论坛在哪里找 编辑:程序博客网 时间:2024/05/21 11:35
1,左旋字符串:
如:ABCDEFG
左旋3个后得到:DEFGABC
第一种方法:
void Re_left(char arr[],int k){ while (k--) { int i = 0; char tmp = arr[0]; int len = strlen(arr) - 1; for (i = 0; i < len; i++) { arr[i] = arr[i + 1]; } arr[len] = tmp; }}int main(){ char arr[] = "abcdefg"; Re_left(arr, 3); printf("%s\n", arr); system("pause\n"); return 0;}
第二种方法:
void Reverse(char* left, char* right){ assert(left); assert(right); while (left < right) { int tmp = *left; *left = *right; *right = tmp; left++; right--; }}void left_move(char arr[], int k){ int len = strlen(arr); //逆序区间 Reverse(arr, arr + k - 1); Reverse(arr + k, arr + len - 1); //逆序整个字符串 Reverse(arr, arr + len - 1);}
结果如下:
右旋转字符串:
如:ABCDEF
右旋2个后得到:EFABCD
void Re_right(char arr[], int k){ while (k--) { int i = 0; int len = strlen(arr); int tmp = arr[len - 1]; for (i = len-1; i > 0;i--) { arr[i] = arr[i-1]; } arr[0] = tmp; }}int main(){ char arr[] = "abcdefg"; Re_right(arr, 3); printf("%s\n", arr); system("pause\n"); return 0;}
判断一个字符串是否由另一个字符串旋转得到
int is_move(char* str1, const char* str2){ if (strlen(str1) != strlen(str2)) { return 0; } strncat(str1,str1,strlen(str1)); if (strstr(str1, str2) != NULL) { return 1; } else { return 0; }}int main(){ char arr[20] = "abcdefg"; char arr2[] = "defgabc"; int ret = 0; ret = is_move(arr, arr2); if (ret == 1) { printf("yes\n"); } else printf("no\n"); system("pause\n"); return 0;}
阅读全文
1 0
- 字符串操作:左旋转字符串,右旋转字符串,判断一个字符串是否是另一个字符串旋转所得
- 左旋转字符串与右旋转字符串
- 判断一个字符串是否是一个字符串的旋转字符串
- 判断一个字符是否是另一个字符的旋转字符串
- 判断一个字符串是否由另一个字符串旋转而成
- 判断一个字符串是否为另一个旋转之后的字符串
- 判断一个字符串是另外字符串的旋转字符串
- 判断一个字符串是否为另一个字符串的旋转后的子字符串
- 左旋转字符串(字符串)
- 左旋转字符串(字符串)
- 【字符串5】左旋转字符串
- 字符串2:左旋转字符串
- 左旋转字符串(字符串)
- 左旋转字符串
- 左旋转字符串
- 左旋转字符串
- 左旋转字符串
- 左旋转字符串
- QT鼠标消息被 mainWindow截获了 子窗口收不到消息
- 定位相关工具类
- android 设置页面切换与返回均无动画效果
- 【FX】FX插件安装
- InfluxDB 入门详解-JAVA增删查
- 字符串操作:左旋转字符串,右旋转字符串,判断一个字符串是否是另一个字符串旋转所得
- CSS组件
- 后台系统无刷新页面记录当前操作位置方法
- plsql创建数据库表、表空间
- eclipse安装JAVA反编译插件
- 阅读笔记(文学)
- 8086/8088 CPU寄存器组
- Spring MVC中关于重定向的路径问题
- ObjectUtils(对象、流相互转换)