首页 > 代码库 > [leetcode] Min Stack @ Python
[leetcode] Min Stack @ Python
原题地址:https://oj.leetcode.com/problems/min-stack/
解题思路:开辟两个栈,一个栈是普通的栈,一个栈用来维护最小值的队列。
代码:
class MinStack: # @param x, an integer def __init__(self): self.stack1 = [] self.stack2 = [] # @return an integer def push(self, x): self.stack1.append(x) if len(self.stack2) == 0 or x <= self.stack2[len(self.stack2)-1]: self.stack2.append(x) # @return nothing def pop(self): top = self.stack1[len(self.stack1)-1] self.stack1.pop() if top == self.stack2[len(self.stack2)-1]: self.stack2.pop() # @return an integer def top(self): return self.stack1[len(self.stack1)-1] # @return an integer def getMin(self): return self.stack2[len(self.stack2)-1]
[leetcode] Min Stack @ Python
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。