有专门做英文字幕的网站吗,福田企业网站优化哪个好,网站建设与规划实验报告,有域名了网站怎么做225. 用队列实现栈 用两个队列实现栈的功能#xff0c;思路如下#xff1a; 往空队列中放新元素把非空队列中的元素依次放入刚才添加了新元素的队列#xff0c;直到非空队列变为空队列
class MyStack(object):def __init__(self):self.queue1 []self.queue2 []def push(…225. 用队列实现栈 用两个队列实现栈的功能思路如下 往空队列中放新元素把非空队列中的元素依次放入刚才添加了新元素的队列直到非空队列变为空队列
class MyStack(object):def __init__(self):self.queue1 []self.queue2 []def push(self, x)::type x: int:rtype: Noneif not self.queue1:self.queue1.append(x)while self.queue2:self.queue1.append(self.queue2.pop(0))else:self.queue2.append(x)while self.queue1:self.queue2.append(self.queue1.pop(0))def pop(self)::rtype: intif self.queue1:return self.queue1.pop(0)elif self.queue2:return self.queue2.pop(0)else:return Nonedef top(self)::rtype: int# 返回列表的第一个元素但不出队if self.queue1:return self.queue1[0]elif self.queue2:return self.queue2[0]else:return Nonedef empty(self)::rtype: boolreturn not self.queue1 and not self.queue2\
232. 用栈实现队列 用栈实现队列思路如下 将两个栈分别称入队栈和出队栈当出队栈存在内容的时候出队栈的栈顶即为第一个出队的元素若出堆栈没有元素而需求为出栈我们就需要把入队栈的内容放入出队栈然后再从出堆栈取栈顶 class MyQueue(object):def __init__(self):self.stack1 []self.stack2 []def push(self, x):self.stack1.append(x)def pop(self):if not self.stack2:while self.stack1:self.stack2.append(self.stack1.pop())return self.stack2.pop()def peek(self):if not self.stack2:while self.stack1:self.stack2.append(self.stack1.pop())return self.stack2[-1]def empty(self):return not self.stack1 and not self.stack2