码迷,mamicode.com
首页 > 编程语言 > 详细

算法--可查询最值的栈练习题

时间:2017-03-17 23:08:17      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:hid   http   nowrap   hle   分享   overflow   eid   key   wrap   

转载请标明出处http://www.cnblogs.com/haozhengfei/p/68c25fbc949e663f5bb8627a764158f8.html 


可查询最值的栈练习题

技术分享
技术分享
技术分享
技术分享
 
可查询最值的栈练习
 

第2节 可查询最值的栈练习题

 
定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。
 
 
1
import java.util.Stack;
2

3
public class Solution {
4
    private Stack<Integer> stackData = new Stack<>();
5
    private Stack<Integer> stackMin = new Stack<>();
6

7
    public void push(int node) {
8
        //将当前元素压入栈
9
        stackData.push(node);
10

11
        /**
12
         * 如果最小栈为空,那么直接压入
13
         * 否则如果当前元素小于stackMin的顶部元素,直接压入,大于就继续压入stackMin的顶部元素
14
         */
15
        if(stackMin.isEmpty()){
16
            stackMin.push(node);
17
        } else {
18
            if (node < stackMin.peek().intValue()) {
19
                stackMin.push(node);
20
            }
21
            else{
22
                stackMin.push(stackMin.peek());
23
            }
24
        }
25
    }
26

27
    public void pop() {
28
        stackData.pop();
29
        stackMin.pop();
30
    }
31

32
    public int top() {
33
        return stackData.peek();
34

35
    }
36

37
    public int min() {
38
        return stackMin.peek();
39
    }
40
}
 
 
您的代码已保存
答案正确:恭喜!您提交的程序通过了所有的测试用例
 
 

算法--可查询最值的栈练习题

标签:hid   http   nowrap   hle   分享   overflow   eid   key   wrap   

原文地址:http://www.cnblogs.com/haozhengfei/p/68c25fbc949e663f5bb8627a764158f8.html

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