剑指Offer(五)
作者:
zhjcjdtc | 来源:发表于
2019-02-21 23:50 被阅读0次
剑指Offer(五)
用两个栈实现队列
题目描述:
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
解题思路:
栈1作为PUSH的栈,栈2作为POP的栈即可,在栈2不为空的情况下POP栈2,如果栈2为空,那么先把栈1中所有元素POP并PUSH进栈2,再将栈2POP。
代码如下:
# -*- coding:utf-8 -*-
class Solution:
def __init__(self):
self.stack1=[]
self.stack2=[]
def push(self, element):
self.stack1.append(element)
# write code here
def pop(self):
if self.stack2 == []:
while self.stack1:
self.stack2.append(self.stack1.pop())
return self.stack2.pop()
return self.stack2.pop()
本文标题:剑指Offer(五)
本文链接:https://www.haomeiwen.com/subject/gnwjyqtx.html
网友评论