LeetCode--541.反转字符串 II(字符串)

张开发
2026/4/10 20:28:47 15 分钟阅读

分享文章

LeetCode--541.反转字符串 II(字符串)
题目描述给定一个字符串s和一个整数k从字符串开头算起每计数至2k个字符就反转这2k字符中的前k个字符。如果剩余字符少于k个则将剩余字符全部反转。如果剩余字符小于2k但大于或等于k个则反转前k个字符其余字符保持原样。示例 1输入s abcdefg, k 2 输出bacdfeg示例 2输入s abcd, k 2 输出bacd提示1 s.length 104s仅由小写英文组成1 k 104代码classSolution{publicstaticvoidreverse(char[]s,intstart,intend){// 做成左闭右开区间end--;while(startend){s[start]^s[end];s[end]^s[start];s[start]^s[end--];}}publicStringreverseStr(Strings,intk){// 转换成字符数组进行操作char[]charss.toCharArray();intstart0;// 2k为一组减少遍历循环次数for(inti0;ichars.length;i2*k){reverse(chars,i,Math.min((ik),chars.length));}returnnewString(chars);}}

更多文章