mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-08 00:43:04 +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:
|
||||
"""
|
||||
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:
|
||||
|
Reference in New Issue
Block a user