怎么查询网站的外链,汕尾手机网站设计,78建筑网站,为什么大家用wordpress建网站问题背景
给定一个字符串 s s s 和一个整数 k k k#xff0c;从字符串开头算起#xff0c;每计数至 2 k 2k 2k 个字符#xff0c;就反转这 2 k 2k 2k 字符中的前 k k k 个字符。
如果剩余字符少于 k k k 个#xff0c;则将剩余字符全部反转。如果剩余字符小于 2 k…问题背景
给定一个字符串 s s s 和一个整数 k k k从字符串开头算起每计数至 2 k 2k 2k 个字符就反转这 2 k 2k 2k 字符中的前 k k k 个字符。
如果剩余字符少于 k k k 个则将剩余字符全部反转。如果剩余字符小于 2 k 2k 2k 但大于或等于 k k k 个则反转前 k k k 个字符其余字符保持原样。
数据约束 1 ≤ s . l e n g t h ≤ 1 0 4 1 \le s.length \le 10 ^ 4 1≤s.length≤104 s s s 仅由小写英文组成 1 ≤ k ≤ 1 0 4 1 \le k \le 10 ^ 4 1≤k≤104
解题过程
直接按照题目要求来模拟就可以需要注意方法调用时转入的下标要进行修正。
具体实现
class Solution {public String reverseStr(String s, int k) {char[] chS s.toCharArray();int n chS.length;for (int i 0; i n; i 2 * k) {// 这一部分的判断可以简化成 reverse(chS, i, Math.min(i k, n) - 1);if (i k n) {reverse(chS, i, n - 1);} else {reverse(chS, i, i k - 1);}}return new String(chS);}private void reverse(char[] chS, int left, int right) {while(left right) {char temp chS[left];chS[left] chS[right];chS[right] temp;left;right--;}}
}