题解 | #包含min函数的栈#

包含min函数的栈

https://www.nowcoder.com/practice/4c776177d2c04c2494f2555c9fcc1e49?tpId=295&tqId=23268&ru=/exam/oj&qru=/ta/format-top101/question-ranking&sourceUrl=%2Fexam%2Foj%3Fpage%3D1%26tab%3D%25E7%25AE%2597%25E6%25B3%2595%25E7%25AF%2587%26topicId%3D295

# -*- coding:utf-8 -*-
class Solution:
    
    stack=[]
    stack_min=[]
    def push(self, node):
        # write code here
        #print(node)
        self.stack.append(node)
        if not self.stack_min:
            self.stack_min.append(node)       
        else:             
            if node <=self.stack_min[-1]: 
                                   
                self.stack_min.append(node) 

    def pop(self):
        # write code here
        length=len(self.stack)
        length2=len(self.stack_min)
        x=self.stack[-1]
        self.stack = self.stack[:length-1]
        if x==self.stack_min[-1]:
            self.stack_min=self.stack_min[:length2-1]
        return x

    def top(self):
        # write code here
        x=self.stack[-1]
        return x
    def min(self):
        # write code here
        return self.stack_min[-1]

全部评论

相关推荐

哥_留个offer先:跟他说,你这个最好用c#,微软就用c#Java不适合这个项目
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务