python两个栈实现一个队列_用两个栈实现队列-牛客网-剑指Offer-Python

布满荆棘的人生 2022-10-25 14:17 247阅读 0赞

用两个栈实现队列

题目描述

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

代码:

# -*- coding:utf-8 -*-

class Solution:

def __init__(self):

self.stack1 = []

self.stack2 = []

def push(self, node):

# write code here

if len(self.stack1)==0:

self.stack1.append(node)

else:

while(len(self.stack1)):

p = self.stack1[-1]

self.stack1.pop(-1)

self.stack2.append(p)

self.stack1.append(node)

while(len(self.stack2)):

p = self.stack2[-1]

self.stack2.pop(-1)

self.stack1.append(p)

def pop(self):

# return xx

if len(self.stack1):

p = self.stack1[-1]

self.stack1.pop(-1)

return p

else:

return None

发表评论

表情:
评论列表 (有 0 条评论,247人围观)

还没有评论,来说两句吧...

相关阅读