加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

用两个栈实现队列-用连个队列实现栈

发布时间:2020-12-15 04:47:34 所属栏目:百科 来源:网络整理
导读:用两个栈实现队列 # -*- coding:utf-8 -*- class Solution: ? ? def __init__(self): ? ? ? ? self.stackA=[] ? ? ? ? self.stackB=[] ? ? def push(self,node): ? ? ? ? # write code here ? ? ? ? self.stackA.append(node) ? ? def pop(self): ? ? ? ? #

用两个栈实现队列

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


class Solution:


? ? def __init__(self):


? ? ? ? self.stackA=[]


? ? ? ? self.stackB=[]


? ? def push(self,node):


? ? ? ? # write code here


? ? ? ? self.stackA.append(node)


? ? def pop(self):


? ? ? ? # return xx


? ? ? ? if self.stackB:


? ? ? ? ? ? return self.stackB.pop()


? ? ? ? elif not self.stackA:


? ? ? ? ? ? return None


? ? ? ? else:


? ? ? ? ? ? while self.stackA:


? ? ? ? ? ? ? ? self.stackB.append(self.stackA.pop())


? ? ? ? ? ? return self.stackB.pop()

用连个队列实现栈

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

class Solution:

def __init__(self):

self.queueA=[]

self.queueB=[]

def push(self,node):

# write code here

if self.queueB:

self.queueB.append(node)

else:

self.queueA.append(node)

def pop(self):

# return xx

if self.queueB:

i = 1

length = len(self.queueB)

while self.queueB and i < length :

self.queueA.append(self.queueB.pop(0))

i += 1

return self.queueB.pop(0)

elif self.queueA :

i=1

length=len(self.queueA)

while self.queueA and i

self.queueB.append(self.queueA.pop(0))

i+=1

return self.queueA.pop(0)

else:

return None

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读