557. Reverse Words in a String III
题目描述:
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.
解题思路:
不难,根据空格找到每个单词,使用reverse方法进行翻转。在输入字符串本地操作,速度会快些。
代码:
1 class Solution { 2 public: 3 string reverseWords(string s) { 4 string res; 5 size_t index; 6 while ((index = s.find(" ")) != string::npos) { 7 string word = s.substr(0, index); 8 reverse(word.begin(), word.end()); 9 res += word + " "; 10 s = s.substr(index+1); 11 } 12 reverse(s.begin(), s.end()); 13 res += s; 14 return res; 15 } 16 };