劍指offer 包含min函數的棧

題目

定義棧的數據結構,請在該類型中實現一個能夠得到棧最小元素的min函數。

思路

同時用一個最小棧記錄當前最小值。

代碼

# -*- coding:utf-8 -*-
class Solution:
    def __init__(self):
        self.stack = []
        self.minstack = []
    def push(self, node):
        # write code here
        self.stack.append(node)
        if not self.minstack:
            self.minstack.append(node)
        else:
            num = self.minstack[-1] if self.minstack[-1] < node else node
            self.minstack.append(num)
    def pop(self):
        # write code here
        self.stack.pop(-1)
        self.minstack.pop(-1)
    def top(self):
        # write code here
        return self.stack[-1]
    def min(self):
        # write code here
        return self.minstack[-1]
發佈了572 篇原創文章 · 獲贊 47 · 訪問量 30萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章