1. 题目原址
https://leetcode.com/problems/reverse-string-ii/
2. 题目描述
3. 题目大意
给定一个字符串,和字符串的间隔k, 这个k表示每k个数反转一次,然后再间隔k个元素再反转k个元素。
4. 解题思路
只要按照间隔去反转就可以了。然后间隔k个元素不反转是通过让i每次递增 2*k完成的。
5. AC代码
class Solution {
public String reverseStr(String s, int k) {
int length = s.length();
char[] arr = s.toCharArray();
for(int i = 0; i < length; i += 2*k) { // 主要是这个地方
reverse(arr, i, k);
}
return String.valueOf(arr);
}
private void reverse(char[] s, int start, int k) {
int index = start + k - 1;
if(index > s.length -