557. Reverse Words in a String III

Problem:

Given a string, you need to reverse the order of characters in each word within a sentence while still preserving whitespace and initial word order.

Example 1:

Input: "Let's take LeetCode contest"
Output: "s'teL ekat edoCteeL tsetnoc"

Note: In the string, each word is separated by single space and there will not be any extra space in the string.

Solutions:

class Solution {
public:
    string reverseWords(string s) {
        int pos = 0;
        while (pos < s.length()) {
            int left = pos;
            int right = left;
            while (right < s.length() && s[right] != ' ') ++right;
            pos = right + 1;
            right = right - 1;

            while (left < right) {
                swap(s[left], s[right]);
                ++left;
                --right;
            }
        }

        return s;
    }
};

results matching ""

    No results matching ""