美文网首页
【2对2】双栈实现队列

【2对2】双栈实现队列

作者: 7ccc099f4608 | 来源:发表于2019-01-27 15:33 被阅读1次

    https://www.nowcoder.com/practice/54275ddae22f475981afa2244dd448c6?tpId=13&tqId=11158&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking
    | 日期 | 是否一次通过 | comment |
    |----|----|----|
    |2019-01-26 13:20|N|实质是preOrder + swap|
    |2019-01-27 13:20|Y||

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

    1.非递归

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

    相关文章

      网友评论

          本文标题:【2对2】双栈实现队列

          本文链接:https://www.haomeiwen.com/subject/heagjqtx.html