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

网站建设保定软文写作技巧

网站建设保定,软文写作技巧,做公众号主页面的有哪些网站,找项目网站字符串 - 541.反转字符串II(C#和C实现) 题目描述 给定一个字符串 s 和一个整数 k,你需要对从字符串开头算起的每隔 2k 个字符的前 k 个字符进行反转。 如果剩余字符少于 k 个,则将剩余字符全部反转。如果剩余字符小于 2k 但大于或等于 k 个&#xff0…

字符串 - 541.反转字符串II(C#和C实现)

题目描述

给定一个字符串 s 和一个整数 k,你需要对从字符串开头算起的每隔 2k 个字符的前 k 个字符进行反转。

  • 如果剩余字符少于 k 个,则将剩余字符全部反转。
  • 如果剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符,剩余字符保持原样。

示例:

输入: s = "abcdefg", k = 2
输出: "bacdfeg"
解释: 从字符串开头算起,第一组 2k 字符是 "ab",第二组 2k 字符是 "cd",所以最终答案是 "bacdfeg"

提示:

  • 该字符串只包含小写英文字母。
  • 给定字符串的长度和 k 在 [1, 10000] 范围内。

解题思路

类比和解题步骤

考虑类比:假设你有一条领带,你希望每隔一段距离将其中的一部分领带反转。你可以通过遍历字符串,按照规定的间隔(2k)对每一部分进行反转。

  1. 遍历字符串: 从字符串的开头开始,按照 2k 的间隔遍历字符串。
  2. 反转部分字符: 对每一部分的前 k 个字符进行反转。
  3. 处理剩余字符: 如果剩余字符少于 k 个,则将其全部反转。
特殊案例
  • 如果输入字符串为空,则直接返回空字符串。

C#代码实现

public string ReverseStr(string s, int k) {// 如果字符串为空或者 k 小于等于 0,则直接返回if (string.IsNullOrEmpty(s) || k <= 0) {return s;}// 将字符串转换为字符数组char[] charArray = s.ToCharArray();int n = charArray.Length;// 遍历字符数组,每隔 k 个字符反转一次for (int i = 0; i < n; i += 2 * k) {// 左指针int left = i;// 右指针,取最小值,防止数组越界int right = Math.Min(i + k - 1, n - 1);// 交换左右指针指向的字符,并移动指针while (left < right) {// 反转前 k 个字符char temp = charArray[left];charArray[left] = charArray[right];charArray[right] = temp;// 移动指针left++;right--;}}// 将字符数组转换为字符串return new string(charArray);
}

C代码实现

char* reverseStr(char* s, int k) {// 如果传入的字符串为空或者 k 小于等于 0,则直接返回if (s == NULL || k <= 0) {return s;}// 获取字符串长度int n = strlen(s);// 遍历字符串,每隔 k 个字符反转一次for (int i = 0; i < n; i += 2 * k) {// 记录左指针int left = i;// 记录右指针,如果右指针超过字符串长度,则取字符串最后一个字符int right = fmin(i + k - 1, n - 1);// 交换左右指针指向的字符,并移动指针while (left < right) {// 反转前 k 个字符// 交换左右指针指向的字符char temp = s[left];s[left] = s[right];s[right] = temp;// 移动指针left++;right--;}}return s;
}

时间复杂度和空间复杂度

  • 时间复杂度:O(n),其中 n 是字符串 s 的长度。遍历字符串一次。
  • 空间复杂度:O(1)。只使用了常数级别的额外空间。

参与点评

读者朋友们,如果您在阅读过程中,对文章的质量、易理解性有任何建议,欢迎在评论区指出,我会认真改进。

http://www.hkea.cn/news/522212/

相关文章:

  • 中国建设银行河南省分行网站推广信息哪个平台好
  • 网站建设官网免费模板杭州seo优化
  • 绍兴网站建设谷歌搜索引擎在线
  • 网站的会员认证怎么做黑龙江新闻头条最新消息
  • 做网站如何分工百度推广登录平台客服
  • 网站建设如何提案万网域名注册信息查询
  • 创意二维码制作网站企业网络营销推广案例
  • 论坛型网站怎么做百度高级检索入口
  • 做百度移动网站排搜素引擎优化
  • 公司创建一个网站需要多少钱想做百度推广找谁
  • 做文献ppt模板下载网站有哪些常德政府网站
  • 青岛网站建设公司排行外链工具在线
  • 网站怎么做显得简洁美观seo数据是什么意思
  • 阿里巴巴开通诚信通后网站怎么做网络优化网站
  • 东莞手机网站价格便宜个人免费建站软件
  • 电子商务网站建设的步骤一般为百度100%秒收录
  • 做企业网站怎么样免费的推广软件下载
  • 拓普网站建设美国搜索引擎
  • 网站开发者工资冯耀宗seo视频教程
  • 软件开发各阶段工作量比例搜索引擎优化的基础是什么
  • 网站怎么做才能将名声打响云搜索app
  • 南阳做网站优化哪家好一级域名生成二级域名
  • 3322动态域名官网郑州seo联系搜点网络效果好
  • 网络营销渠道的类型河北seo基础教程
  • 做微信网站多少钱seo内部优化包括哪些内容
  • 中国城乡建设网站网络优化公司排名
  • 个人网站做淘宝客教程torrentkitty磁力搜索引擎
  • 广州北京网站建设seo培训讲师招聘
  • 手机上免费自己做网站网络营销案例分享
  • 长沙大型网站建设谷歌账号