首页 > 其他 > 详细

leetcode155 Min Stack

时间:2015-07-10 02:02:26      阅读:224      评论:0      收藏:0      [点我收藏+]

题意:模拟一个最小栈,可以push,pop,top,和返回栈中最小值。

思路:已经忘了栈是怎么构建的了,晕···尝试了半天,错误,发现直接用stack数据结构来做最方便,再用一个栈来存最小值。值得注意的是当pop时最小值栈也要pop。

代码:

stack<int> Data, Min;
    void push(int x)
    {
        Data.push(x);
        if(Min.empty() || Min.top() > x)
            Min.push(x);
        else
            Min.push(Min.top());

    }

    void pop()
    {
        Data.pop();
        Min.pop();
    }

    int top()
    {
        if(!Data.empty())
            return Data.top();
    }

    int getMin()
    {
        if(!Min.empty())
            return Min.top();
    }

 

leetcode155 Min Stack

原文:http://www.cnblogs.com/puyangsky/p/4634639.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!