Monday, August 28, 2017

541. Reverse String II

https://leetcode.com/problems/reverse-string-ii/description/
Solution 1.
    string reverseStr(string s, int k) {
        for(int i=0; i<s.size(); i += 2*k) {
            reverse(s.begin()+i, min(s.begin()+i+k, s.end()));
        }
        return s;
    }
Solution 2.
    string reverseStr(string s, int k) {
        for(int i=0; i<s.size(); i += 2*k) {
            for(int m=i, n=min(i+k-1, (int)s.size()-1);m<n;m++,n--) {
                swap(s[m], s[n]);
            }
        }
        return s;
    }

No comments:

Post a Comment