public String reverseStr(String s, int k) { char[] ch = s.toCharArray(); // 1. 每隔 2k 个字符的前 k 个字符进行反转 for (inti=0; i < ch.length; i += 2 * k) { // 2. 剩余字符小于 2k 但大于等于 k 个,则反转前 k 个字符 if (i + k <= ch.length) { reverse(ch, i, i + k - 1); continue; } // 3. 剩余字符少于 k 个,则将剩余字符全部反转 reverse(ch, i, ch.length - 1); } returnnewString(ch); } publicvoidreverse(char[] ch, int i, int j) { for (; i < j; i++, j--) { chartemp= ch[i]; ch[i] = ch[j]; ch[j] = temp; } }