541 - Reverse String II

#easy

Given a string s and an integer k, reverse the first k characters for every 2k characters counting from the start of the string.

If there are fewer than k characters left, reverse all of them. If there are less than 2k but greater than or equal to k characters, then reverse the first k characters and leave the other as original.

Example 1:
Input: s = "abcdefg", k = 2
Output: "bacdfeg"

k != 千,指變數K(2倍K)

class Solution {
public:
    string reverseStr(string s, int k) {
        int i = 0;
        int j = s.size() - 1;
        for ( i = 0; i < s.size(); i++ ) {
            if ( i % (2*k) == 0 ) {
                int end = i + k - 1;
                if ( end > j ) end = j;
                while ( i < end ) {
                    swap(s[i], s[end]);
                    i++;
                    end--;
                }
            }
        }

        return s;
    }
};