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

https://leetcode-cn.com/problems/bao-han-minhan-shu-de-zhan-lcof/submissions/

class MinStack {
    var main = Array<Int>()
    //计入push过的最小值
    var sub = Array<Int>()
    
    init() {
        
    }
    
    func push(_ x: Int) {
        main.append(x)
        if sub.isEmpty || sub.last! >= x{
            sub.append(x)
        }
    }
    
    func pop() {
        if main.last! == sub.last! {
            sub.removeLast()
        }
        main.removeLast()
    }
    
    func top() -> Int {
        return main.last!
    }
    
    func min() -> Int {
        return sub.last!
    }
}


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容