本文主要是介绍Leetcode 232:用栈实现队列,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
解题思路:
1.用java中的Stack()类来实现栈
2.用两个栈来模拟队列
import java.util.Stack;class MyQueue {Stack<Integer> stackIn;Stack<Integer> stackOut;public MyQueue() {stackIn = new Stack<>(); // 负责进栈stackOut = new Stack<>(); // 负责出栈}//1.入队列,和栈操作相同public void push(int x) {stackIn.push(x);}//2.出队列public int pop() {dumpstackIn();return stackOut.pop();}//3.查询队列开头元素public int peek() {dumpstackIn();return stackOut.peek();}//查看队列是否为空public boolean empty() {return stackIn.isEmpty() && stackOut.isEmpty();}// 如果stackOut为空,那么将stackIn中的元素全部放到stackOut中private void dumpstackIn(){if (!stackOut.isEmpty()) return;while (!stackIn.isEmpty()){stackOut.push(stackIn.pop());}}
}
这篇关于Leetcode 232:用栈实现队列的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!