Andy Back-end Dev Engineer

剑指offer-用两个栈实现队列

2018-06-25

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

解体思路

inStack用来暂存数据,outStack用来存放队列pop的数据,经过两次栈的存放顺序正好正过来。

import java.util.Stack;

public class Solution {
    Stack<Integer> in = new Stack<Integer>();
    Stack<Integer> out = new Stack<Integer>();
    
    public void push(int node) {
        in.push(node);
    }
    
    public int pop() throws Exception {
        if(out.isEmpty())
            while(!in.isEmpty())
                out.push(in.pop());
        if(out.isEmpty())
            throw new Exception("quere is empty");
        
        return out.pop();
    }
}

Comments

Content