当前位置:网站首页>leetcode--541. 反转字符串II
leetcode--541. 反转字符串II
2022-08-08 14:53:00 【Peihj2021】
leetcode–541.反转字符串
题目链接:力扣链接
题目描述
思路分析
1、因为题目说每隔2k个字符串对前k个字符串进行反转,当最后收尾时候不足k个时,我们可以将其全部进行反转。所以我们开始对字符串进行遍历,直接间隔直接设置为2k即可。
2、每一次遍历我们都需要对临界条件进行判断,因为每次都会跳到i+2k的位置,所以我们只需要判断当前位置向后移动k个位置是不是依然再边界条件内就可以了;
i+k < 给定的数组长读
其中k为题目给定的需要反转的k个长度
3、如果再临界条件内,我们对其进行反转即可,这里反转需要重新写一个脚步作为辅助,脚本的逻辑和反转字符串1差不多,我们只需要传入数组,当前的下标,需要反转第k个位置下标就可以了。
代码如下
class Solution {
public String reverseStr(String s, int k) {
char[] chars = s.toCharArray();
for (int i = 0; i < chars.length; i+=2*k) {
if (i+k <= chars.length){
reverse(chars,i,i+k-1);
continue;
}
reverse(chars,i,chars.length-1);
}
return new String(chars);
}
public void reverse(char[] chars,int i,int j){
for(;i < j;i++,j--){
char tmp = chars[i];
chars[i] = chars[j];
chars[j] = tmp;
}
}
}
边栏推荐
- JS - BOM - - can be achieved through calculation or default values
- PHP —— CI 框架实现微信小程序支付
- LeetCode 每日一题 2022/8/1-2022/8/7
- IBM3650M4的ESXI主机报警“其他主机硬件对象的状态”
- MySQL清除表数据 id重置
- 腾讯超大 Apache Pulsar 集群的客户端性能调优实践
- 一文读懂字节跳动“埋点验证平台”
- Tungsten Fabric SDN — OpenStack 与 Kubernetes 异构集群统一 SDN 方案
- Is it safe to open an account in China Galaxy Securities?
- 深度学习-神经网络原理1
猜你喜欢
随机推荐
面试题 17.05. 字母与数字
H5不同屏幕大小显示不同的文字大小图片大小
俄驻美大使馆:扎波罗热核电站遭炮击威胁欧洲核安全
ThinkPHP3.2链接带中文参数乱码导致分页数据错误
1
Install Update(Patches) on ESXi
2022-08-07 第五小组 顾祥全 学习笔记 day31-集合-Map集合
浏览器跨域方案,适用于本地调试接口(超简单)
【小码匠自习室】ABC180-C: 马虎是小孩的天性吗?
兔起鹘落全端涵盖,Go lang1.18入门精炼教程,由白丁入鸿儒,全平台(Sublime 4)Go lang开发环境搭建EP00
什么是发饰hair accessories?
如何使用 Eolink 实现 API 文档自动生成
投资一个约20台桩的充电站需要多少钱?多久可以实现盈利?
Is it safe to open an account in China Galaxy Securities?
浅谈 Redis 的底层数据结构
想去银行测试?那这套题目你必须要会
Ubuntu下使用sudo dpkg --configure -a后数据库出现问题
【服务器数据恢复】Ext4文件系统fsck后mount不上并报错的数据修复案例
HMS Core Analysis Service Intelligent Operation Version 6.5.1 Launched
egg.js框架的基本设置 及 使用