栈和队列——由两个栈组成的队列

xiaoxiao2021-02-27  148

【题目】   编写一个类,用两个栈实现队列,支持队列的基本操作(add、poll、peek)

【代码实现】

import java.util.Stack; class TwoStacksQueue{ public Stack<Integer> stackPush; public Stack<Integer> stackPop; public TwoStacksQueue(){ stackPush = new Stack<Integer>(); stackPop = new Stack<Integer>(); } public void add(int pushInt) { stackPush.push(pushInt); } public int poll(){ if(stackPop.empty() && stackPush.empty()){ throw new RuntimeException("Queue is empty."); }else if(stackPop.empty()){ while(!stackPush.empty()){ stackPop.push(stackPush.pop()); } } return stackPop.pop(); } public int peek(){ if(stackPop.empty() && stackPush.empty()){ throw new RuntimeException("Queue is empty."); }else if(stackPop.empty()){ while(!stackPush.empty()){ stackPop.push(stackPush.pop()); } } return stackPop.peek(); } }
转载请注明原文地址: https://www.6miu.com/read-16007.html

最新回复(0)