557. Reverse Words in a String III

Posted gsz-

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 };

 

以上是关于557. Reverse Words in a String III的主要内容,如果未能解决你的问题,请参考以下文章

557. Reverse Words in a String III

557. Reverse Words in a String III

557. Reverse Words in a String III

557. Reverse Words in a String III

557. Reverse Words in a String III

557. Reverse Words in a String III