翻转单词顺序列(reverse翻转)

翻转单词顺序列

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

  1. 用栈存储单词 时间空间复杂度都为O(n)
  2. reverse 翻转字符串空间复杂度为O(1);
class Solution {
public:
    string ReverseSentence(string str) {
        stack<string> stack;
        string ans;
         for(int i = 0; i < str.size(); i++){
             if(str[i] != ' ')ans+=str[i];
             else {stack.push(ans); ans.clear();}
        }
        while(!stack.empty()){
            ans = ans+" "+stack.top();
            stack.pop();
        }
        return ans;
    }
};
class Solution {
public:
    string ReverseSentence(string str) {
        reverse(str.begin(),str.end());
        int f = 0;
        for(int i = 0; i < str.size(); i++){
            if(str[i]==' '){
                reverse(str.begin()+f,str.begin()+i);
                f = i+1;
            }
        }
        reverse(str.begin()+f, str.end());
        return str;
    }
};

注意!此信息未认证,请谨慎判断信息的真实性!

全部评论
空

相关内容推荐

头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像 头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
点赞 收藏 评论
分享

全站热榜

正在热议