Skip to the content.

用栈实现队列


Contact me:

Blog -> https://cugtyt.github.io/blog/index
Email -> cugtyt@qq.com
GitHub -> Cugtyt@GitHub


来自牛客 剑指offer

题目描述

用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。

stack<int> stack1;
stack<int> stack2;

void push(int node) {
    stack1.push(node);
}

int pop() {
    while(stack1.size()) {
        stack2.push(stack1.top());
        stack1.pop();
    }
    auto result = stack2.top();
    stack2.pop();
    while (stack2.size()) {
        stack1.push(stack2.top());
        stack2.pop();
    }
    return result; 
}