题解 | 双栈排序

双栈排序

https://www.nowcoder.com/practice/d0d0cddc1489476da6b782a6301e7dec

#include <cstdio>
class TwoStacks {
public:
    vector<int> twoStacksSort(vector<int> numbers) {
        // write code here
        if(numbers.size()<=1) return numbers;
        vector<int> buffer;
        while (!numbers.empty()) {
            int tmp = numbers.back();
            numbers.pop_back();
            if(buffer.empty()){
                buffer.emplace_back(tmp);
                continue;
            }
            while(!buffer.empty() && buffer.back() < tmp){
                numbers.emplace_back(buffer.back());
                buffer.pop_back();  
            }   
             buffer.emplace_back(tmp);       
        }
        return buffer;
    }
};

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务