Reverse String II

给一个字符串和一个值k, 反转字符串, 规则是 每2k个, 反转前k个. 不够k个, 能反转多少反转多少. 不够2k个, 不转.

class Solution {
    public String reverseStr(String s, int k) {
        char[] ary = s.toCharArray();
        for(int i = 0 ; i < ary.length; i += 2*k) {
            swap(ary, i, Math.min(i + k - 1, ary.length-1));
        }
        return String.valueOf(ary);
    }
    
    private void swap(char[] ary, int i, int j) {
        while(i < j) {
            char t = ary[i];
            ary[i] = ary[j];
            ary[j] = t;
            i++;
            j--;
        }
    }
}