剑指offer面试题21----包含min函数的栈

题目:定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。

思路:题目要求能够以O(1)时间获取栈的最小元素,那就需要新建栈的时候创建一个列表用来存储栈的最小元素,因此在初始化栈的时候需要同时初始化一个最小值列表。

Python代码如下:

# -*- coding:utf-8 -*-
class Solution:
    
    def __init__(self):
        self.stack = []
        self.min_stack = []

    def push(self, node):
        self.stack.append(node)
        if not self.min_stack or node

你可能感兴趣的:(剑指offer面试题21----包含min函数的栈)