增加 0225.用队列实现栈.md java 版本

优化,使用一个 Queue 实现
对比 『使用一个 Deque 实现』 的解法,我把移动元素的代码放到 push 方法里,代码看起来更简洁
This commit is contained in:
Flow-sandyu
2022-10-05 10:12:19 +08:00
committed by GitHub
parent f86b17a1f0
commit 680cf3dbd7

View File

@ -292,6 +292,40 @@ class MyStack {
} }
``` ```
优化,使用一个 Queue 实现
```java
class MyStack {
Queue<Integer> queue;
public MyStack() {
queue = new LinkedList<>();
}
//每 offer 一个数A进来都重新排列把这个数A放到队列的队首
public void push(int x) {
queue.offer(x);
int size = queue.size();
//移动除了 A 的其它数
while (size-- > 1)
queue.offer(queue.poll());
}
public int pop() {
return queue.poll();
}
public int top() {
return queue.peek();
}
public boolean empty() {
return queue.isEmpty();
}
}
```
Python Python
```python ```python