题目描述

反转字符串II541

代码实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import java.lang.Math;

//反转字符串II541
public class ReverseStringII541 {
public static void main(String[] args){
System.out.println(new Solution().reverseStr("abcdefg",2));//bacdfeg
}
}

class Solution {
public String reverseStr(String s, int k) {
char[] res = s.toCharArray();
for (int i = 0; i < res.length; i += 2 * k) {
int start = i;
int end = Math.min(res.length - 1, start + k - 1);
while (start < end){
char temp = res[start];
res[start++] = res[end];
res[end--] = temp;
}
}
return String.valueOf(res);
}
}

个人总结

  1. 在循环内部不要改变循环控制量
  2. 上面这种实现方式最好理解且轻便