557. Reverse Words in a String III
Difficulty: Easy
Topics: String
Similar Questions:
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;
}
};