关闭

Implement Queue by Two Stacks

86人阅读 评论(0) 收藏 举报
分类:

基础知识的考察,补课

public class Queue {
    private Stack<Integer> stack1;
    private Stack<Integer> stack2;

    public Queue() {
       // do initialization if necessary
       stack1 = new Stack<>();
       stack2 = new Stack<>();
    }
    
    public void push(int element) {
        // write your code here
        stack2.push(element);
    }

    public int pop() {
        // write your code here
        if (stack1.isEmpty()) {
            stack2ToStack1();
        }
        return stack1.pop();
    }

    public int top() {
        // write your code here
        if (stack1.isEmpty()) {
            stack2ToStack1();
        }
        return stack1.peek();
    }
    
    private void stack2ToStack1() {
        while (!stack2.isEmpty()) {
            stack1.push(stack2.pop());
        }
    }
}


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:62175次
    • 积分:8099
    • 等级:
    • 排名:第2476名
    • 原创:795篇
    • 转载:2篇
    • 译文:0篇
    • 评论:0条
    文章分类