leetcode-541. 反转字符串 II

leetcode-541. 反转字符串 II

文章目录

  • leetcode-541. 反转字符串 II
    • 一.题目描述
    • 二.第1次提交(for循环,std::reverse)
    • 三.第2次提交
    • 四.第3次提交
    • 五.第4次提交
    • 六.代码随想录解答一
    • 七.代码随想录解答二
    • 八.代码随想录解答三

一.题目描述

在这里插入图片描述

二.第1次提交(for循环,std::reverse)

在这里插入图片描述

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

三.第2次提交

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

四.第3次提交

class Solution {public:string reverseStr(string s, int k) {for (int i = 0; i < s.size(); i = i + 2 * k) {if (i + 2 * k < (s.size())) {reverse(s.begin() + i, s.begin() + i + k);} else if (s.size() - i < k) {reverse(s.begin() + i, s.end());} else {reverse(s.begin() + i, s.begin() + i + k);}}return s;}
};

五.第4次提交

class Solution {public:string reverseStr(string s, int k) {for (int i = 0; i < s.size(); i = i + 2 * k) {if (2 * k < (s.size() - i)) {reverse(s.begin() + i, s.begin() + i + k);} else if (s.size() - i < k) {reverse(s.begin() + i, s.end());} else {reverse(s.begin() + i, s.begin() + i + k);}}return s;}
};

六.代码随想录解答一

class Solution {
public:string reverseStr(string s, int k) {for (int i = 0; i < s.size(); i += (2 * k)) {// 1. 每隔 2k 个字符的前 k 个字符进行反转// 2. 剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符if (i + k <= s.size()) {reverse(s.begin() + i, s.begin() + i + k );} else {// 3. 剩余字符少于 k 个,则将剩余字符全部反转。reverse(s.begin() + i, s.end());}}return s;}
};

七.代码随想录解答二

class Solution {
public:void reverse(string& s, int start, int end) {for (int i = start, j = end; i < j; i++, j--) {swap(s[i], s[j]);}}string reverseStr(string s, int k) {for (int i = 0; i < s.size(); i += (2 * k)) {// 1. 每隔 2k 个字符的前 k 个字符进行反转// 2. 剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符if (i + k <= s.size()) {reverse(s, i, i + k - 1);continue;}// 3. 剩余字符少于 k 个,则将剩余字符全部反转。reverse(s, i, s.size() - 1);}return s;}
};

八.代码随想录解答三

class Solution {
public:string reverseStr(string s, int k) {int n = s.size(),pos = 0;while(pos < n){//剩余字符串大于等于k的情况if(pos + k < n) reverse(s.begin() + pos, s.begin() + pos + k);//剩余字符串不足k的情况 else reverse(s.begin() + pos,s.end());pos += 2 * k;}return s;}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/22728.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IDE /字符串 /字符编码与文本文件(如cpp源代码文件)

文章目录 概述文本编辑器如何识别文件的编码格式优先推测使用了UTF-8编码&#xff1f;字符编码的BOM字节序标记重分析各文本编辑器下的测试效果Qt Creator的文本编辑器系统记事本VS的文本编辑器Notepad 编译器与代码文件的字符编码ANSI编码其他 概述 前期在整理 《IDE/VS项目属…

云计算的学习(六)

六、云计算的发展趋势 1.云计算相关领域介绍 1.1物联网 物联网来源于互联网&#xff0c;是万物互联的结果&#xff0c;是人和物、物和物之间产生通信和交互。 物联网主要技术&#xff1a; RFID技术&#xff08;射频识别技术&#xff09;传感器技术嵌入式系统技术 1.2大数据…

基于LoRa技术的网络终端无线程序升级系统研究(学习)

摘要 设计了一种基于LoRa技术的STM32F4无线程序升级系统。此系统由PC及相关STM32软件开发环境、LoRa通信模块及控制器和STM32F4终端三部分组成。 本系统采用LoRa技术将程序数据无线发送到终端&#xff0c;终端通过IAP技术实现远程无线程序自动升级。测试结果表明&#xff0c;…

iManager for K8S 站点定制(以MongoDB为例)

作者&#xff1a;ls 目录 背景前期准备实现效果实现过程附录YAML中的属性配置占位符列表 背景 SuperMap iManager支持一键创建用户定制的站点&#xff0c;可将已添加的站点模板创建为站点环境&#xff0c;并通过站点使用应用。   定制站点与其他站点相同&#xff0c;在监管方…

2023年最新水果编曲软件FLStudio21.0.3.3517中文直装完整至尊解版下载

2023年最新水果编曲软件FLStudio21.0.3.3517中文直装完整至尊解版下载 是最好的音乐开发和制作软件也称为水果循环。它是最受欢迎的工作室&#xff0c;因为它包含了一个主要的听觉工作场所。 最新fl studio 21有不同的功能&#xff0c;如它包含图形和音乐音序器&#xff0c;帮助…

HTML5和CSS3新特性

文章目录 1.HTML5新特性1.1 概述1.2 语义化标签1.3 多媒体标签1.3.1 视频标签- video1.3.2 音频标签- audio 1.4 新增的表单元素1.5 新增表单属性 2.CSS3新特性2.1新增选择器2.1.1 属性选择器2.1.2 结构伪类选择器E:first-childE:nth-child(n)E:nth-child 与 E:nth-of-type 的区…

WebSocket协议基础

文章目录 什么是websocketwebsocet 特点 一、websocket 建立连接流程二、websocket 握手流程客户端握手包2.服务端握手包 三、websocket数据总结参考 什么是websocket WebSOcket 是基于TCP的应用层协议。该协议和http或https 相似&#xff0c;但是却区别于http的一种新的协议。…

Web_php_include

代码审计 进入环境&#xff0c;根据题目的提示&#xff0c;本题考察文件包含漏洞 <?php show_source(__FILE__); echo $_GET[hello]; $page$_GET[page]; while (strstr($page, "php://")) {$pagestr_replace("php://", "", $page); } incl…

一些抄袭CSDN的爬虫网站(长期收集更新)

目录 一、CodeAntenna1. 简介2. 网址 二、待更新。。。 本文由CSDN点云侠原创&#xff0c;爬虫网站请努力加油爬。 一、CodeAntenna 1. 简介 互联网耻辱柱排行榜Top 1。本人博客里任何一点免费可读的部分都被该网站爬得体无完肤。 2. 网址 https://codeantenna.com/a/B4cMB…

数据可视化:揭开数据的视觉奇迹

随着大数据时代的到来&#xff0c;我们面临着海量的数据&#xff0c;如何从中获取有价值的信息成为一项重要的挑战。数据可视化作为一种强大的工具&#xff0c;通过图表、图形和交互界面&#xff0c;将数据转化为可视化的形式&#xff0c;帮助我们更好地理解和分析数据。 数据可…

AlGaN基深紫外FP激光器仿真模型及材料信息数据库有何用途?

波长范围为UVC波段&#xff08;100-280 nm&#xff09;的深紫外FP&#xff08;Fabry-Pero&#xff0c;法布里和珀罗是两位法国的科学家&#xff09;激光器可广泛应用于数据通信、光通信、3D打印、材料加工、显示与照明、激光雷达、人脸/手势识别、医疗和表面监测等领域。FP激光…

数据分析——AB测试应用与实战

摘要 某电商公司非常注重自己的落地页设计&#xff0c;希望通过改进设计来提高转化率。以往该公司全年转化率平均在13%左右&#xff0c;现在希望设计的新页面能够带来更高的转化率&#xff0c;希望新页面的转化率能有2%的提升&#xff0c;达到15%。在正式推出新页面之前&#…