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

包含min函数的栈-剑指Offer

时间:2016-06-27 21:49:16      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:

包含min函数的栈

题目描述

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

思路

  1. 使用一个辅助栈,跟踪原始栈中每个元素在栈口时的该栈的最小值

代码

import java.util.Stack;

public class Solution {

    Stack<Integer> s_data = new Stack();
	Stack<Integer> s_min = new Stack();
	public void push(int node) {
        s_data.push(node);
        if (s_min.empty() || node < s_min.peek()) {
        	s_min.push(node);
        } else {
        	s_min.push(s_min.peek());
        }
    }
    
    public void pop() {
        if (!s_data.empty()) {
    		s_data.pop();
    	}
    	if (!s_min.empty()) {
    		s_min.pop();
    	}
    }
    
    public int top() {
        return s_data.peek();
    }
    
    public int min() {
    	return s_min.peek();
    }
}

包含min函数的栈-剑指Offer

标签:

原文地址:http://www.cnblogs.com/rosending/p/5621453.html

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