您的位置:首页 > 其它

20包含min函数的栈

2017-11-20 09:13 274 查看

题目描述

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

建一个辅助栈,把每次最小最小的元素(之前最小元素,与当前新入栈的元素比较)放在辅助栈里。

1 import java.util.Stack;
2
3 public class Solution {
4     Stack<Integer> stack = new Stack<Integer>();
5     Stack<Integer> min = new Stack<Integer>();
6     public void push(int node) {
7         if(stack.empty()){
8             stack.push(node);
9             min.push(node);
10         }
11         else{
12             if(node < min.peek())
13                 min.push(node);
14             else
15                 min.push(min.peek());
16             stack.push(node);
17             }
18
19     }
20
21     public void pop() {
22         stack.pop();
23         min.pop();
24     }
25
26     public int top() {
27         return stack.peek();
28     }
29
30     public int min() {
31         return min.peek();
32     }
33 }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: