算法(字符串)——反转字符串II
文章目录
- 1.题目描述
- 2.解题思路
- 3.代码实现
1.题目描述
给定一个字符串 s 和一个整数 k,从字符串开头算起,每计数至 2k 个字符,就反转这 2k 字符中的前 k 个字符。
如果剩余字符少于 k 个,则将剩余字符全部反转。如果剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符,其余字符保持原样。
示例 1:
输入:s = "abcdefg", k = 2
输出:"bacdfeg"示例 2:
输入:s = "abcd", k = 2
输出:"bacd"
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/reverse-string-ii
2.解题思路
这一题我们在遍历字符串的时候,可以一次性让i变成i+2k,这时候判断剩下的字符有没有k个,如果有k个的话,我们就把前面2k个字符进行reverse,然后继续进行循环的continue,没有的话就把剩下的不足k个字符全部reverse。
3.代码实现
class Solution {public:string reverseStr(string s, int k) {for(int i = 0; i < s.size(); i += 2*k){if(i + k <= s.size()){reverse(s.begin() + i, s.begin() + i + k);continue;}reverse(s.begin() + i, s.begin() + s.size());}return s;}
};
算法(字符串)——反转字符串II相关推荐
- 初级算法_反转字符串
LeetCode_初级算法_反转字符串 源 编写一个函数,其作用是将输入的字符串反转过来.输入字符串以字符数组 char[] 的形式给出. 不要给另外的数组分配额外的空间,你必须原地修改输入数组.使用 ...
- 编程笔试(解析及代码实现):字符串反转(字符串逆序输出)代码实现十多种方法对比(解析思路及其耗费时间)详细攻略
编程笔试(解析及代码实现):字符串反转(字符串逆序输出)代码实现十多种方法对比(解析思路及其耗费时间)详细攻略 目录 字符串反转(字符串逆序输出)代码实现十多种方法对比(解析思路及其耗费时间)详细攻略 ...
- swift算法:反转字符串
1.描述 编写一个函数,其作用是将输入的字符串反转过来,输入字符串以字符数组 char[] 的形式给出. 不要给另外的数组分配额外的空间,你必须原地修改输入数组.使用O(1)的额外空间解决这一问题 你 ...
- 初级算法-12.反转字符串
题目描述: 编写一个函数,其作用是将输入的字符串反转过来.输入字符串以字符数组 char[] 的形式给出. 不要给另外的数组分配额外的空间,你必须原地修改输入数组.使用 O(1) 的额外空间解决这一问 ...
- 算法(字符串)——反转字符串
文章目录 1.题目描述 2.解题思路 3.代码实现 1.题目描述 编写一个函数,其作用是将输入的字符串反转过来.输入字符串以字符数组 s 的形式给出.不要给另外的数组分配额外的空间,你必须原地 ...
- 简单记录牛客top101算法题(初级题C语言实现)判断回文字符串 反转字符串 合并两个有序的数组
1. 判断是否为回文字符串 给定一个长度为 n 的字符串,请编写一个函数判断该字符串是否回文.如果是回文请返回true,否则返回false. 字符串回文指该字符串正序与其逆序逐字符一致. // ...
- day11 反转字符串||反转字符串2
力扣 思路 定义两个指针 一个从字符串前面 一个从字符串后面 两个指针同时向中间移动 并交换元素 var reverseString = function(s) {//Do not return a ...
- [字符串]反转字符串
一.题目描述 原文链接:344. 反转字符串 具体描述: 编写一个函数,其作用是将输入的字符串反转过来.输入字符串以字符数组 s 的形式给出. 不要给另外的数组分配额外的空间,你必须原地修改输入数组. ...
- 算法--------数组------反转字符串中的元音字母
编写一个函数,以字符串作为输入,反转该字符串中的元音字母.示例 1:输入: "hello" 输出: "holle" 示例 2:输入: "leetcod ...
最新文章
- Socket:UDP协议小白
- 微信电视来了 微信遥控传屏弹幕统统有
- Spring boot 配置单元测试
- 一个在windowsXP启动linux as(grub引导)的简单方法
- 关于Windows Firewall的一些资料
- Django Cache缓存系统介绍及Memcached使用
- javascript之parseInt的用法分析
- 计算机领域认知个人陈述,计算机专业个人陈述十九
- keepalived(4)——演练故障出现时keepalived的状态
- 被忽视的ArrayList,你知道多少
- asm和file system之间数据文件的转换
- 格式化输出的函数printf()用法
- OpenCV入门: Mat数据类型及其转换,访问
- 从零实现深度学习框架——动手实现逻辑回归
- 牛客网编程题输入输出
- 计算机更改刷新频率,电脑屏幕刷新率怎么调节?怎么更改电脑屏幕刷新率?
- C语言程序设计第五次作业——循环结构(1)
- 电脑计算器所有快捷键
- 04-什么是阶梯式加压测试?
- Mysql 网站大全
热门文章
- chrome应用商店打不开,怎么下载vue-devtools并安装呢?
- python读取文本两个数字的成语_【十分钟Python知识点】让文本数据更加生动——词云工具推荐...
- CPU切换线程的相关理解
- python-字典dict_KeyError: *****,解决方案
- kafka系列(五)—— broker存储结构
- NVIDIA显卡算力查询
- 联想浏览器怎么设置使用Java_eclipse 联想功能设置技巧
- 使用adb命令安装apk到电视
- c语言分数怎么化成整数,分数怎么化成整数 分数转化方法
- raft java库_结合consul raft库理解raft