剑指Offer - 9. 用两个栈实现队列

剑指Offer - 9. 用两个栈实现队列,第1张

剑指Offer - 9. 用两个栈实现队列

思路

依然是分为入队栈和出队栈,遵循两个原则:1. 入队栈转入出队栈时,保证出队栈为空 2. 转移后,保证入队栈为空。若要pop时发现出队栈不为空,不需转移,直接pop即可,否则会破坏顺序。

import java.util.Stack;

public class Solution {
    Stack stack1 = new Stack();
    Stack stack2 = new Stack();
    
    public void push(int node) {
        stack1.push(node);
    }
    
    public int pop() {
        if(stack2.isEmpty()) {
            while(!stack1.isEmpty()) {
                stack2.push(stack1.pop());
            }
        }
        return stack2.pop();
    }
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5697681.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存