Leetcode +155 Min Stack"/>
Leetcode +155 Min Stack
Leetcode +155 Min Stack
题目描述
Design a stack that supports push, pop, top, and retrieving the minimum element in constant time.
push(x) – Push element x onto stack.
pop() – Removes the element on top of the stack.
top() – Get the top element.
getMin() – Retrieve the minimum element in the stack.
Example:
MinStack minStack = new MinStack();
minStack.push(-2);
minStack.push(0);
minStack.push(-3);
minStack.getMin(); --> Returns -3.
minStack.pop();
minStack.top(); --> Returns 0.
minStack.getMin(); --> Returns -2.
来源:力扣(LeetCode)
链接:
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
思路解析
class MinStack:def __init__(self):# 数据栈self.data = []# 辅助栈self.helper = []def push(self, x):self.data.append(x)if len(self.helper) == 0 or x <= self.helper[-1]:self.helper.append(x)else:self.helper.append(self.helper[-1])def pop(self):if self.data:self.helper.pop()return self.data.pop()def top(self):if self.data:return self.data[-1]def getMin(self):if self.helper:return self.helper[-1]# Your MinStack object will be instantiated and called as such:
# obj = MinStack()
# obj.push(x)
# obj.pop()
# param_3 = obj.top()
# param_4 = obj.getMin()
更多推荐
Leetcode +155 Min Stack
发布评论