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

网站建设与管理怎么做北京百度推广优化公司

网站建设与管理怎么做,北京百度推广优化公司,国外做电商网站,网站开发(定制)合同 模板目录 (一)反转字符串Ⅱ的C实现 写法一(s.begin()遍历字符) (二)复杂度分析 时间复杂度 空间复杂度 (三)总结 【题目链接】541. 反转字符串Ⅱ - 力扣&am…

目录

(一)反转字符串Ⅱ的C++实现

写法一(s.begin()遍历字符)

(二)复杂度分析

时间复杂度

空间复杂度

(三)总结


【题目链接】541. 反转字符串Ⅱ - 力扣(LeetCode)

给定一个字符串 s 和一个整数 k,从字符串开头算起,每计数至 2k 个字符,就反转这 2k 字符中的前 k 个字符。

  • 如果剩余字符少于 k 个,则将剩余字符全部反转。

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

示例 1:

输入:s = "abcdefg", k = 2
输出:"bacdfeg"

示例 2:

输入:s = "abcd", k = 2
输出:"bacd"

提示:

  • 1 <= s.length <= 104

  • s 仅由小写英文组成

  • 1 <= k <= 104

(一)反转字符串Ⅱ的C++实现

写法一(s.begin()遍历字符)

解题思路:

        本题的反转与上一题不同,【题目链接】344.反转字符串 - 力扣(LeetCode)Leetcode刷题 由浅入深之字符串——344. 反转字符串-CSDN博客这一题是将整个字符串逆序,本题是在字符串内部2k以内逆序。

        定义一个指针temp指向子字符串的第一个字符,为便于循环和条件控制,从剩余字符串的角度考虑,每次循环temp跳2k,直到超出字符串长度范围。根据题意,

  • 如果剩余字符少于 k 个,则将剩余字符全部反转。

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

        使用s.begin()表示字符串的第一个字符,通过加减整数代表字符串的第几个字符。使用reverse()函数对子字符串进行反转根据题目要求写出不同条件的处理办法即可。

class Solution {
public:string reverseStr(string s, int k) {int a = s.size();int temp = 0;while(temp < a){if(a-temp < k){reverse(s.begin()+temp, s.begin()+a);}else if(a-temp >= k && a-temp < 2*k){reverse(s.begin()+temp, s.begin()+temp+k);}else{reverse(s.begin()+temp, s.begin()+temp+k);}temp += 2*k;}return s; }
};

        思路理清楚之后,会发现可以将一些逻辑相同的部分合并起来,更简洁的代码如下,运行结果一致。

class Solution {
public:string reverseStr(string s, int k) {int a = s.size();int temp = 0;while(temp < a){/*if(a-temp < k)reverse(s.begin()+temp, s.begin()+a);else if(a-temp >= k && a-temp < 2*k)reverse(s.begin()+temp, s.begin()+temp+k);elsereverse(s.begin()+temp, s.begin()+temp+k);*/reverse(s.begin()+temp, s.begin()+min(temp+k, a));temp += 2*k;}return s; }
};

(二)复杂度分析

时间复杂度

O(n)

空间复杂度

O(1)

(三)总结

(1)s.begin()表示字符串的第一个字符,后面加减整数可以遍历字符串中的字符。

(2)reverse()函数可以对子字符串进行反转。

学习中,诚挚希望有心者指正和交流,经验或者方法都可。

http://www.dtcms.com/wzjs/90245.html

相关文章:

  • 茂名市人民政府门户网站建设百度平台推广的营销收费模式
  • 研发项目流程八个阶段淘宝seo优化
  • 免费的制作网站西安做网站哪家好
  • php源代码做网站百度搜索引擎下载
  • 网站建设汇编材料网站页面seo
  • 吴忠北京网站建设临沂seo推广外包
  • 网站集约化 建设方案营销推广费用预算表
  • 网站建设存在的问题怎样有效的做网上宣传
  • 各种软件链接网址网页seo搜索引擎优化
  • 自己怎么做网上注册免费的网站南通网络推广
  • 导购分享网站模板西安百度竞价外包
  • 网站服务器代码放在哪seo网站营销推广公司
  • 济南网站建设tailook宁波seo网络推广多少钱
  • 自己做网站视频国内可访问的海外网站和应用
  • 可以做任务的网站有哪些自己制作网页的网站
  • 临沂城乡建设管理局网站win7优化极致性能
  • 怎么做自己的cms导购网站宁波seo教程推广平台
  • 用自己照片做衣服_杯子的是哪个网站搜索引擎优化是什么
  • 做网站需要专业怎么开设自己的网站
  • 普陀网站建设重庆seo公司
  • rss 网站插件网站推广引流最快方法
  • 新疆建设兵团职称查询官方网站青青河边草直播免费观看
  • 百度做一个网站怎么做呢百度搜索百度
  • 医疗网站如何做优化优化大师绿色版
  • 网站备案 历史百度q3财报减亏170亿
  • 网站如何做伪静态手机百度快照
  • 给自己的爱人做网站搜索引擎优化排名优化培训
  • 外链网站分类南宁网站建设
  • 怎么做国外的网站爱站网综合查询
  • wordpress全站音乐线上营销活动有哪些