剑指offer-包含min函数的栈

2016/05/24 C和C++基础

题目描述

定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。

#include <iostream>
#include <stack>
using namespace std;

class Solution {
public:
    void push(int value){
		if(s.empty()){
			minNum=value;
		}else{
			if(minNum>value)
				minNum=value;
		}
		minS.push(minNum);
		s.push(value);
    }
    void pop(){
		s.pop();
		minS.pop();
		minNum=minS.top();
    }
    int top(){
		return s.top();
    }
    int min(){
        return minNum;
    }
private:
	stack<int> s;
	stack<int> minS;
	int minNum;
};

Search

    Post Directory