请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。
实现 MyStack 类:
void push(int x) 将元素 x 压入栈顶。
int pop() 移除并返回栈顶元素。
int top() 返回栈顶元素。
boolean empty() 如果栈是空的,返回 true ;否则,返回 false 。
复习一下 Java 的 栈 和 队列。
Stack:一个类,继承 Vector ,线程安全,性能较差,不推荐使用。
push()
pop()
peek()
Queue:一个接口,继承 Collection,LinkedList 继承了该接口。
add offer
remove poll
Element peek
思路:
两个队列,一个模拟栈,一个辅助。
push 元素的时候,调整为栈的顺序。
后续 获取栈顶元素,删除栈顶元素,都不用动。