用两个栈实现队列@剑指offer
程序员文章站
2022-07-10 10:26:15
...
题目描述
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
思路分析
在python中,list.append()可以实现在列表末尾添加元素的操作,即push()
list.pop()可以实现删除列表元素的操作,默认删除最后一个元素。pop([index = -1])
题目给出了队列元素为int类型,因此list.append()和list.pop()可行
代码实现
# -*- coding:utf-8 -*-
class Solution:
def __init__(self):
self.stack1 = []
self.stack2 = []
def push(self, node):
# write code here
self.stack1.append(node)
return self.stack1
#self.stack1 = [node1]
def pop(self):
# return xx
if self.stack2 == []:
while self.stack1:
# 确保self.stack1有值,已经实现了Push操作
a = self.stack1.pop()
# a = node1
#self.stack1 = []
self.stack2.append(a)
# self.stack2 = [node3]
if self.stack2:
return self.stack2.pop()
# self.stack2 = []
# self.stack1 = []
上一篇: awk 变量
下一篇: 剑指offer:js实现剪绳子