当前位置: 首页 > news >正文

沈阳祥云男科河南seo网站多少钱

沈阳祥云男科,河南seo网站多少钱,wordpress免费资讯主题,巩义关键词优化公司电话字符串左旋 实现一个函数&#xff0c;可以左旋字符串中的k个字符。 例如&#xff1a; ABCD左旋一个字符得到BCDA ABCD左旋两个字符得到CDAB 方法1 三步翻转法 要求:abcdef 左旋两个 整体逆序:fedcba左边逆序:cdef ba右边逆序:cdef ab #include<stdio.h> #include<…

字符串左旋

实现一个函数,可以左旋字符串中的k个字符。
例如:
ABCD左旋一个字符得到BCDA
ABCD左旋两个字符得到CDAB

方法1

三步翻转法
要求:abcdef 左旋两个

  • 整体逆序:fedcba
  • 左边逆序:cdef ba
  • 右边逆序:cdef ab
#include<stdio.h>
#include<string.h>
#include<assert.h>
void reverse(char* left, char* right)
{assert(left);assert(right);while (left < right){char tmp = *left;*left = *right;*right = tmp;left++;right--;}
}
void left_move(char* arr, int k)
{assert(arr);int len = strlen(arr);k %= len;reverse(arr, arr + len - 1);//逆序整体reverse(arr, arr + len - k - 1);//逆序左边reverse(arr + len - k, arr + len - 1);//逆序右边
}
int main()
{char arr[] = "abcdef";left_move(arr, 2);printf("%s\n", arr);return 0;
}

方法2

  • 将第一个元素放到临时变量
  • 后面元素前移一位
  • 然后把临时变量的值放到最后
  • 循环
#include<stdio.h>
#include<string.h>
#include<assert.h>
void left_move(char* arr, int k)
{assert(arr);size_t len = strlen(arr);k %= len;while (k--){char tmp = *arr;size_t i = 0;for (i = 0; i < len - 1; i++){arr[i] = arr[i + 1];}arr[len - 1] = tmp;}
}
int main()
{char arr[] = "abcdef";left_move(arr, 2);printf("%s\n", arr);return 0;
}

字符串旋转结果

写一个函数,判断一个字符串是否为另外一个字符串旋转之后的字符串。
例如:
给定s1 =AABCD和s2 = BCDAA,返回1
给定s1=abcd和s2=ACBD,返回0.

AABCD左旋一个字符得到ABCDA

AABCD左旋两个字符得到BCDAA

AABCD右旋一个字符得到DAABC

方法1(穷举)

#include<stdio.h>
#include<string.h>
#include<assert.h>
int is_left_move(char* str1, char* str2)
{assert(str1 && str2);size_t len1 = strlen(str1);size_t len2 = strlen(str2);if (len1 != len2)return 0;int i = 0;for (i = 0; i < len1; i++){char tmp = *str1;size_t j = 0;for (j = 0; j < len1 - 1; j++){str1[j] = str1[j + 1];}str1[len1 - 1] = tmp;if (!strcmp(str1, str2))return 1;}return 0;
}
int main()
{char str1[] = "abcdef";char str2[] = "bcdefa";if (is_left_move(str1, str2))printf("yes");elseprintf("no");return 0;
}

方法2

在原字符串后面追加一个相同的字符串
旋转字符串是这个大的字符串的子字符串

#include<stdio.h>
#include<string.h>
#include<assert.h>
int is_left_move(char* str1, char* str2)
{assert(str1&&str2);int len1 = strlen(str1);int len2 = strlen(str2);if (len1 != len2)return 0;strncat(str1, str1, len1);if (strstr(str1, str2) == NULL)return 0;elsereturn 1;
}
int main()
{char arr1[30] = "abcdef";char arr2[] = "cdefab";if (is_left_move(arr1, arr2))printf("yes\n");elseprintf("no\n");return 0;
}
http://www.mmbaike.com/news/99164.html

相关文章:

  • 网站如何做网站名称百度地图推广怎么收费标准
  • 大型门户网站建设步骤谷歌paypal官网注册入口
  • 设计公司网站页面设计网络营销的四种方式
  • 网站公司郑州推广网站多少钱
  • 网站建设小技巧关键词排名优化易下拉排名
  • 建立网站费用怎么做会计分录营销型网站设计制作
  • 怎么建自己的摄影网站抖音搜索关键词排名查询
  • 宜昌建网站免费cms建站系统
  • 岳阳汨罗网站建设b2b国际贸易平台
  • 云南企业网站更先进的seo服务
  • 抢先注册网站域名卖掉最近一周的重大热点新闻
  • 成都网站建设求职简历seo外链查询工具
  • 电脑怎样重新装wordpress长沙seo服务哪个公司好
  • 在什么网站做兼职线上推广渠道主要有哪些
  • 做兼职打字员的网站山东免费网络推广工具
  • 有哪些可以免费推广的网站链交换
  • 全民电竞app的制作公司运城seo
  • 西安第二波疫情最新消息短视频seo询盘系统
  • 网站建设性能分析电销系统
  • 大网站制作模板建站的网站
  • 招聘网站做销售怎么样互联网营销师培训机构哪家好
  • 手机绘图设计免费软件北京seo助理
  • 政府网站云平台建设seo实战培训视频
  • 手机可以搭建网站么网站seo外包
  • 杭州模板建站代理2022真实新闻作文400字
  • 单位做网站的目的企业品牌策划
  • 公司做网站注意什么自己可以做网站吗
  • 用jsp做网站的感想重庆网站优化
  • 电子商务前景如何北京网络优化
  • 哪里找人做网站app推广注册放单平台