题目:用队列实现栈
使用队列实现栈的下列操作:
push(x) -- 元素 x 入栈
pop() -- 移除栈顶元素
top() -- 获取栈顶元素
empty() -- 返回栈是否为空
Code(JAVA):
package cn.leetcode.study.stack;
import java.util.LinkedList;
import java.util.Queue;
public class MyStack {
private Queue<Integer> queue;
/**
* Initialize your data structure here.
*/
public MyStack() {
queue = new LinkedList<>();
}
/**
* Push element x onto stack.
*/
public void push(int x) {
queue.add(x);
for (int i = 1; i < queue.size(); i++)
queue.add(queue.remove());
}
/**
* Removes the element on top of the stack and returns that element.
*/
public int pop() {
return queue.poll();
}
/**
* Get the top element.
*/
public int top() {
return queue.peek();
}
/**
* Returns whether the stack is empty.
*/
public boolean empty() {
return queue.size() == 0;
}
}
比较简单啦!
感谢您的支持,请关注作者公众号: