题解 | #翻转单词序列#

翻转单词序列

http://www.nowcoder.com/practice/3194a4f4cf814f63919d0790578d51f3

第三十二题 队列和栈第四题 判断空格 和复制
class Solution {
public:
    string ReverseSentence(string str) {
        string ret_ans="";
        string temp;
        for(int i =0;i<str.size();i++)
        {
            // 如果不是空格 temp保存当前的字符
            if(str[i] != ' ')
                temp+=str[i];
            // 如果是空格
            // temp先添加上空格,ret_ans加上temp保存的单词,清空temp
            else{
                temp+=' ';
                ret_ans=temp+ret_ans;
                temp="";
            }
        }
        // 因为字符串str遍历结束了,而str开始不是空格。所以temp还保存着str的第一个单词
        // 第一个单词不需要空格,直接添加到结果前面就好了
        temp+=' ';
        ret_ans=temp+ret_ans;
        // 因为从后往前的遍历,一开始nowcoder后面会添加完空格返回给ret_ans,所以最后会多一个空格需要删除
        ret_ans.pop_back();
        return ret_ans;
    }
};

题解 文章被收录于专栏

一遍做剑指offer 一边保存做题步骤 并附带详细注释哦

全部评论

相关推荐

只写bug的程序媛:人家说一本以上,不是及以上
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务