首页 > 其他 > 详细

[leetcode-557-Reverse Words in a String III]

时间:2017-04-09 13:34:57      阅读:374      评论:0      收藏:0      [点我收藏+]

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] != \0)
    {
        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] = \0;
    return res;
}

 

[leetcode-557-Reverse Words in a String III]

原文:http://www.cnblogs.com/hellowooorld/p/6684449.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!