mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-08 16:54:50 +08:00
Update 0232.用栈实现队列.md
Python 更新: 1. 更新前版本的self.pop()语法错误 2. 更新后C++范例逻辑趋于统一
This commit is contained in:
@ -205,33 +205,26 @@ class MyQueue:
|
|||||||
|
|
||||||
def pop(self) -> int:
|
def pop(self) -> int:
|
||||||
"""
|
"""
|
||||||
1. 检查如果out里面元素,则直接pop
|
Removes the element from in front of queue and returns that element.
|
||||||
2. 如果out没有元素,就把in里面的元素(除了第一个)依次pop后装进out里面
|
|
||||||
3. 直接把in剩下的元素pop出来,就是queue头部的
|
|
||||||
"""
|
"""
|
||||||
if self.empty:
|
if self.empty():
|
||||||
return None
|
return None
|
||||||
|
|
||||||
if self.stack_out:
|
if self.stack_out:
|
||||||
return self.stack_out.pop()
|
return self.stack_out.pop()
|
||||||
else:
|
else:
|
||||||
for i in range(1, len(self.stack_in)):
|
for i in range(len(self.stack_in)):
|
||||||
self.stack_out.append(self.stack_in.pop())
|
self.stack_out.append(self.stack_in.pop())
|
||||||
return self.stack_in.pop()
|
return self.stack_out.pop()
|
||||||
|
|
||||||
|
|
||||||
def peek(self) -> int:
|
def peek(self) -> int:
|
||||||
"""
|
"""
|
||||||
1. 查out有没有元素,有就把最上面的返回
|
Get the front element.
|
||||||
2. 如果out没有元素,就把in最下面的返回
|
|
||||||
"""
|
"""
|
||||||
if self.empty:
|
ans = self.pop()
|
||||||
return None
|
self.stack_out.append(ans)
|
||||||
|
return ans
|
||||||
if self.stack_out:
|
|
||||||
return self.stack_out[-1]
|
|
||||||
else:
|
|
||||||
return self.stack_in[0]
|
|
||||||
|
|
||||||
|
|
||||||
def empty(self) -> bool:
|
def empty(self) -> bool:
|
||||||
|
Reference in New Issue
Block a user