码迷,mamicode.com
首页 > 编程语言 > 详细

[LeetCode]题解(python):155-Min Stack

时间:2016-05-10 18:19:32      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:

题目来源:

  https://leetcode.com/problems/min-stack/


 

题意分析:

  实现一个小的栈,包括初始化,push,pop,top,和getMin。


 

题目思路:

  私用是用两个数组来处理。


 

代码(python):

技术分享
 1 class MinStack(object):
 2     def __init__(self):
 3         """
 4         initialize your data structure here.
 5         """
 6         self.stack1 = []
 7         self.stack2 = []
 8         
 9 
10     def push(self, x):
11         """
12         :type x: int
13         :rtype: nothing
14         """
15         self.stack1.append(x)
16         if len(self.stack2) == 0 or x <= self.stack2[-1]:
17             self.stack2.append(x)
18         
19 
20     def pop(self):
21         """
22         :rtype: nothing
23         """
24         tmp = self.stack1.pop()
25         if tmp == self.stack2[-1]:
26             self.stack2.pop()
27         
28 
29     def top(self):
30         """
31         :rtype: int
32         """
33         return self.stack1[-1]
34 
35     def getMin(self):
36         """
37         :rtype: int
38         """
39         return self.stack2[-1]
40         
View Code

 

[LeetCode]题解(python):155-Min Stack

标签:

原文地址:http://www.cnblogs.com/chruny/p/5478505.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!