码迷,mamicode.com
首页 > 其他好文 > 详细

leetcode155 Min Stack

时间:2015-07-10 02:03:09      阅读:112      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!