题解 | #两个队列实现栈#

没啥逻辑,补充下pytho3版本
from os import XATTR_SIZE_MAX
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param order string字符串一维数组 
# @return string字符串一维数组
#
import collections
class Solution:
    def __init__(self) -> None:
        self.que1=collections.deque()
        self.que2=collections.deque()
    def push(self,c):
        self.que1.append(c)
    def pop(self):
        while len(self.que1)>1:
            c=self.que1.popleft()
            self.que2.append(c)
        c=self.que1.popleft()
        while len(self.que2)>0:
            self.que1.append(self.que2.popleft())
        return c
    def empty(self):
        return len(self.que1)==0
    def top(self):
        return self.que1[-1]
    def simulate(self , order: List[str]) -> List[str]:
        out=[]
        for c in order:
            if c=='MTY':
                out.append(self.empty())
            elif 'PSH' in c:
                self.push(c.replace("PSH","")) 
            elif c=='TOP':
                out.append(self.top())
            else:
                out.append(self.pop())
        return out


全部评论

相关推荐

点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务