[leetcode-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.
思路:

用一个vector<vector<char> >收集所有的字符,空格为单词分割符,将每一个单词翻转后,输出即可。

感觉思路还比较朴素,但是看上去很啰嗦。

string reverseWords(string s)
{
    if(s == "")return s;
    vector<vector<char> >sentence;
    vector<char>word;
    int i=0;
    while(s[i] != '')
    {
        if(s[i]!=' ')
        {
            word.insert(word.begin(),s[i]);
        }
        else
        {
            sentence.push_back(word);
            word.clear();
        }
        i++;
    }
    sentence.push_back(word);
    char res[100000];//太小 要用100000
    int ind =0;
    for(int i=0;i<sentence.size();i++)
    {
        for(int j=0;j<sentence[i].size();j++)
        {
            res[ind] = sentence[i][j];
            ind++;
        }
         res[ind] = ' ';
         ind++;
    }
     res[ind-1] = '';
    return res;
}
原文地址:https://www.cnblogs.com/hellowooorld/p/6684449.html