Update 0232.用栈实现队列.md

Python 更新:
1. 更新前版本的self.pop()语法错误
2. 更新后C++范例逻辑趋于统一
This commit is contained in:
Asterisk
2021-08-31 14:30:39 +08:00
committed by GitHub
parent 513ccbc51b
commit 55753bb558

View File

@ -205,33 +205,26 @@ class MyQueue:
def pop(self) -> int:
"""
1. 检查如果out里面元素则直接pop
2. 如果out没有元素就把in里面的元素除了第一个依次pop后装进out里面
3. 直接把in剩下的元素pop出来就是queue头部的
Removes the element from in front of queue and returns that element.
"""
if self.empty:
if self.empty():
return None
if self.stack_out:
return self.stack_out.pop()
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())
return self.stack_in.pop()
return self.stack_out.pop()
def peek(self) -> int:
"""
1. 查out有没有元素有就把最上面的返回
2. 如果out没有元素就把in最下面的返回
Get the front element.
"""
if self.empty:
return None
if self.stack_out:
return self.stack_out[-1]
else:
return self.stack_in[0]
ans = self.pop()
self.stack_out.append(ans)
return ans
def empty(self) -> bool: