LeetCode0232-两个栈实现一个队列

两个栈实现一个队列

package codepackage;

import java.util.Deque;
import java.util.LinkedList;
import java.util.Stack;

public class Num232_stackAsQueue {

    Deque<Integer> in;
    Deque<Integer> out;

//注意这里,构造函数要每次都新建一个栈对象,相当于初始化对象
    public Num232_stackAsQueue(){
        in = new LinkedList<Integer>();
        out = new LinkedList<Integer>();

    }

    public void push(int x){
        in.push(x);

    }

    public int pop(){

        if(out.isEmpty()){
            while(!in.isEmpty()){
                out.push(in.pop());
            }
        }
        return out.pop();


    }

    public int peek(){
        if(out.isEmpty()){
            out.push(in.pop());
        }
        return out.peek();

    }

    public boolean empty(){
        return in.isEmpty()&&out.isEmpty();

    }
}

 

posted on 2021-06-30 10:35  cStream  阅读(28)  评论(0)    收藏  举报