leetcodepushfront implement stack using queues: 使用队列实现堆栈
leetcode推前使用队列实现堆栈的以下操作: push(x) -- 将元素x推入堆栈。 pop() —— 移除栈顶的元素。 top() -- 获取顶部元素。 empty() -- 返回栈是否为空。
Example:
MyStack stack = new MyStack();
stack.push(1);
stack.push(2);
stack.top(); // returns 2
stack.pop(); // returns 2
stack.empty(); // returns false
笔记: 您必须只使用队列的标准操作——这意味着只有向后推、从前面查看/弹出、大小和为空操作是有效的。根据您的语言,队列可能不受本机支持。您可以使用列表或双端队列来模拟队列,只要您仅使用队列的标准操作即可。您可以假设所有操作都是有效的(例如,不会在空堆栈上调用pop或top操作)。
实现: 使用2个队列
`class MyStack {
private Queue< Integer > q1 = new LinkedList<>();`