class MyQueue(object):
def __init__(self):
self.stack_in=[]
self.stack_out=[]
def push(self, x):
"""
:type x: int
:rtype: None
"""
self.stack_in.append(x)
def pop(self):
"""
:rtype: int
"""
if self.empty():
return None
if self.stack_out:
return self.stack_out.pop()
else:
for i in range(len(self.stack_in)):
self.stack_out.append(self.stack_in.pop())
return self.stack_out.pop()
def peek(self):
"""
:rtype: int
"""
x=self.pop()
self.stack_out.append(x)
return x
def empty(self):
"""
:rtype: bool
"""
return not (self.stack_in or self.stack_out)
题目二
class MyStack(object):
def __init__(self):
self.que=deque()
def push(self, x):
"""
:type x: int
:rtype: None
"""
self.que.append(x)
def pop(self):
"""
:rtype: int
"""
if self.empty():
return None
for i in range(len(self.que)-1):
self.que.append(self.que.popleft())
return self.que.popleft()
def top(self):
"""
:rtype: int
"""
x=self.pop()
self.que.append(x)
return x
def empty(self):
"""
:rtype: bool
"""
return not self.que