- [每日一题]232.implement queue using
- [每日一题]232.implement queue using
- 232. Implement Queue using Stack
- 225. Implement Stack using Queue
- Leetcode 232. Implement Queue us
- 232. Implement Queue using Stack
- 225. Implement Stack using Queue
- 232. Implement Queue using Stack
- 225. Implement Stack using Queue
- 232. Implement Queue using Stack
1.这是一道使用队列去模拟堆栈的题目,感觉挺难想的。
反正我是没想到。
栈:先进后出。
队列:先进先出。
链接:https://leetcode.com/problems/implement-stack-using-queues/
![](https://img.haomeiwen.com/i16471878/95d61487898b0be6.png)
我们使用list模拟Queue(先进后出),append 入队,pop(0)出队
这里,采用一个队列实现。每次删除前面的值,添加值后面
大致过程就是这样:
![](https://img.haomeiwen.com/i16471878/d6d7a8c05965368f.png)
2.题解:
class MyStack(object):
def __init__(self):
self.qeque_ = []
def push(self, x):
self.qeque_.append(x)
def pop(self):
# 每次删除前面的值,添加值后面
for i in range(len(self.qeque_) - 1):
self.qeque_.append(self.qeque_.pop(0))
return self.qeque_.pop(0)
def top(self):
for i in range(len(self.qeque_) - 1):
self.qeque_.append(self.qeque_.pop(0))
val = self.qeque_.pop(0)
self.qeque_.append(val)
return val
def empty(self):
if len(self.qeque_) == 0:
return True
else:
return False
网友评论