剑指Offer_编程题_21

Posted gaoren

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指Offer_编程题_21相关的知识,希望对你有一定的参考价值。

题目描述

定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。
class Solution {
public:
    void push(int value) {
        st.push(value);
    }
    void pop() {
        st.pop();
    }
    int top() {
        return st.top();
    }
    int min() {
        int min_num=st.top();
        while(!st.empty()){
            int tmp = st.top();
            if(tmp < min_num){
                min_num = tmp;
            }
            tmp_st.push(tmp);
            pop();
        }
        while(!tmp_st.empty()){
            st.push(tmp_st.top());
            tmp_st.pop();
        }
        return min_num;
    }
    private: 
    stack<int>st;
    stack<int>tmp_st;
};

  

以上是关于剑指Offer_编程题_21的主要内容,如果未能解决你的问题,请参考以下文章

剑指Offer_编程题_合并两个排序的链表

剑指Offer_编程题_19

剑指Offer_编程题_23

剑指Offer_编程题_1

剑指Offer_编程题_4

剑指Offer_编程题_10