【leetcode-python-4】232. 用栈实现队列
渣渣原始版(86.03%)
用的【leetcode-python-1】中参考大佬版的思路。
class MyQueue(object):
def __init__(self):
"""
Initialize your data structure here.
"""
self.items1 = []
self.items2 = []
def push(self, x):
"""
Push element x to the back of queue.
:type x: int
:rtype: None
"""
self.items1.append(x)
def pop(self):
"""
Removes the element from in front of queue and returns that element.
:rtype: int
"""
if self.items2:
return self.items2.pop()
if not self.items1:
return [].pop()
while self.items1:
self.items2.append(self.items1.pop())
return self.items2.pop()
def peek(self):
"""
Get the front element.
:rtype: int
"""
if self.items2:
return self.items2[-1]
if not self.items1:
return [][-1]
while self.items1:
self.items2.append(self.items1.pop())
return self.items2[-1]
def empty(self):
"""
Returns whether the queue is empty.
:rtype: bool
"""
if (not self.items1) and (not self.items2):
return True
else:
return False
(对这个结果较为满意,没有尝试其他版)
新手入坑,多多包涵~~