您的位置:首页 > 编程语言 > Python开发

python:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。

2019-03-15 09:09 337 查看
# -*- coding:utf-8 -*-
class Solution:
def __init__(self):
self.stack1 = []
self.stack2 = []

def push(self, node):
# write code here
self.stack1.append(node)
def pop(self):
#检查stack2是否为空,不为空弹出,
#为空继续判断stack1是否为空,不为空放入stack2中,为空表示栈内无元素
try:
_pop = self.stack2.pop()
except IndexError as e:
if len(self.stack1) != 0:
for i in range(len(self.stack1)):
self.stack2.append(self.stack1.pop())
_pop = self.stack2.pop()
else:
_pop = None
return _pop

if __name__ == '__main__':
s = Solution()
s.push(1)
s.push(2)
s.push(3)
s.push(4)
s.push(5)
s.push(6)
print(s.pop())
print(s.pop())
print(s.pop())
print(s.pop())
s.push(7)
print(s.pop())
print(s.pop())
print(s.pop())
print(s.pop())
print(s.pop())
print(s.pop())
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐