leetcode刷题笔记22

面试题30. 包含min函数的栈

定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。

class MinStack:
    def __init__(self):
            """        initialize your data structure here.        """ 
            self.A,self.B = [],[]       
    def push(self, x: int) -> None:    
    	self.A.append(x)
    	if not self.B or self.B[-1] >= x: self.append(x)
    def pop(self) -> None:    
    	if self.A.pop() == self.B[-1]:
    		self.B.pop()
    def top(self) -> int:    
    	return A[-1]
    def min(self) -> int:
    	return B[-1]
发布了1 篇原创文章 · 获赞 2 · 访问量 324
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 游动-白 设计师: 上身试试

分享到微信朋友圈

×

扫一扫,手机浏览