Q541 反转字符串 II
给定一个字符串和一个整数 k,你需要对从字符串开头算起的每个 2k 个字符的前k个字符进行反转。如果剩余少于 k 个字符,则将剩余的所有全部反转。如果有小于 2k 但大于或等于 k 个字符,则反转前 k 个字符,并将剩余的字符保持原样。
示例:
输入: s = "abcdefg", k = 2
输出: "bacdfeg"
要求:
- 该字符串只包含小写的英文字母。
- 给定字符串的长度和 k 在[1, 10000]范围内。
class Solution {public String reverseStr(String s, int k) {if (s == null || s.length() <= 1)return s;char[] chs = s.toCharArray();int i = 0;while (i < chs.length) {if (i + k - 1 < chs.length) {reverseCharArray(chs, i, i + k - 1);} else {reverseCharArray(chs, i, chs.length - 1);}i += 2 * k;}return String.valueOf(chs);}private char[] reverseCharArray(char[] chs, int i, int j) {if (chs == null || i >= j)return chs;while (i < j) {chs[i] ^= chs[j];chs[j] ^= chs[i];chs[i++] ^= chs[j--];}return chs;}
}
转载于:https://www.cnblogs.com/WeichengDDD/p/10722172.html
Q541 反转字符串 II相关推荐
- leetcode 344. 反转字符串 541. 反转字符串 II 双指针解
目录 leetcode 344.反转字符串 1.题目 2.思考 leetcode 541. 反转字符串 II 1.题目 2.思考 leetcode 344.反转字符串 1.题目 2.思考 典型的双指针 ...
- 字符串(一) | 剑指 Offer 58 - II. 左旋转字符串、541. 反转字符串 II、剑指 Offer 05. 替换空格、151. 反转字符串中的单词
剑指 Offer 58 - II. 左旋转字符串 把前k个字符移动到结尾 翻转前k个字符,翻转剩余字符 翻转整个字符串 class Solution { public:void reverse(str ...
- Suzy找到实习了吗Day 8 | 字符串开始啦 344. 反转字符串,541. 反转字符串 II,剑指 Offer 05. 替换空格,151. 反转字符串中的单词,左旋转字符串
这里是目录 344. 反转字符串 题目 Solution 541. 反转字符串 II 题目 Solution(v1) Solution(v2) 剑指 Offer 05. 替换空格 做题记录 151. ...
- 代码随想录算法训练营第八天|● 344.反转字符串● 541. 反转字符串II● 剑指Offer 05.替换空格● 151.翻转字符串里的单词● 剑指Offer58-II.左旋转字符
一.344.反转字符串 力扣 思路:很简单的一个for循环双指针,left和right交换. class Solution {public void reverseString(char[] s) { ...
- 541. 反转字符串 II
文章目录 1. 题目描述 2. 解题思路 3. 代码实现 1. 题目描述 题目链接:541. 反转字符串 II 2. 解题思路 这道题是 反转字符串 的进阶版,看题目可能有点难理解,其实很简单. 我们 ...
- 【必备算法】字符串(反转问题):LeetCode题 344. 反转字符串,541. 反转字符串 II,917. 仅仅反转字母
写在前面,反转数组的思路很简单,就是借助双指针不断将首尾相应位置的字符交换.Java模板如下: public void reverseArray(char[] arr) {int i = 0, j = ...
- 代码随想录算法训练营第八天|344.反转字符串 541. 反转字符串II 剑指Offer 05.替换空格 151.翻转字符串里的单词 剑指Offer58-II.左旋转字符串
一.344.反转字符串 题目:编写一个函数,其作用是将输入的字符串反转过来.输入字符串以字符数组 char[] 的形式给出. 不要给另外的数组分配额外的空间,你必须原地修改输入数组.使用 O(1) 的 ...
- 备战sp23春招 day8 | 344.反转字符串 541. 反转字符串II 剑指 05.替换空格 151.翻转字符串里的单词 剑指58-II.左旋转字符串
344 反转字符串 class Solution {public:void reverseString(vector<char>& s) {int n = s.size();int ...
- LeetCode 541. 反转字符串 II
1. 题目 给定一个字符串和一个整数 k,你需要对从字符串开头算起的每个 2k 个字符的前k个字符进行反转.如果剩余少于 k 个字符,则将剩余的所有全部反转.如果有小于 2k 但大于或等于 k 个字符 ...
最新文章
- NBUT 1457 Sona(莫队算法+离散化)
- placeholder在不同浏览器下的表现及兼容方法
- ARM平台硬件时钟中断周期HZ值计算
- websocket传输canvas图像数据给C++服务端opencv图像实现web在线实时图像处理
- Hyperledger Fabric Chaincode 开发
- 站立会议(11月19日)
- 单片机的Bootloader,可以实现用户轻松升级程序
- 基于物品的协同过滤推荐算法——读“Item-Based Collaborative Filtering Recommendation Algorithms”
- java表达式7|3,Chapter3 Java运算符
- cisco Router专线路由器配置
- 9)Thymeleaf ⼯具类对象表达式
- 古代小说鉴赏辞典 - 郭子仪
- mysql 执行存储过程
- “首月0保费”导流模式告终 知名互联网保险平台开始裁员
- Flutter高仿微信-第26篇-新的朋友
- 微信公众号编辑文章发布时,弹出,图文消息中含有敏感词
- DTI-ATS入门(1):DTI综述
- 信息收集之寻找真实ip
- 在eclipse上使用Maven创建动态web项目
- Dr.com 新版 Ver 5.2.0 本地 密码 读取 查看 破解
热门文章
- C++新特性探究(十):Lambda
- python中typeerror是什么意思_TypeError:在Python中
- html页面返回json数据为空,在Html页面中,展示出Json格式数据,且保持缩进格式...
- rfid 标签内存_RFID有源与无源的区别与联系
- python逗号表达式_python – 如何用位于括号外的逗号分割一个字符串?
- centos安装mysql8_Docker 快速安装 Mysql
- java标识语_Java 基本语法,标识符,修饰符,关键字
- sqlalchemy 增删改
- VSCode Python Tutorial
- 3.11 随机初始化