File tree Expand file tree Collapse file tree 3 files changed +77
-33
lines changed Expand file tree Collapse file tree 3 files changed +77
-33
lines changed Original file line number Diff line number Diff line change 59
59
60
60
* [ q20_有效的括号] ( /src/栈相关/q20_有效的括号 )
61
61
* [ q32_最长有效括号] ( /src/栈相关/q32_最长有效括号 )
62
+ * [ q155_最小栈] ( /src/栈相关/q155_最小栈 )
62
63
* [ q224_基本计算器] ( /src/栈相关/q224_基本计算器 )
63
64
* [ q316_去除重复字母] ( /src/栈相关/q316_去除重复字母 )
64
65
Original file line number Diff line number Diff line change
1
+ package 栈相关 .q155_最小栈 ;
2
+
3
+ import java .util .Stack ;
4
+
5
+ /**
6
+ * 不使用辅助栈,每次push两个元素
7
+ */
8
+ public class MinStack {
9
+
10
+ private Stack <Integer > stack ;
11
+
12
+ public MinStack () {
13
+ stack = new Stack <>();
14
+ }
15
+
16
+ public void push (int x ) {
17
+ if (stack .isEmpty ()) {
18
+ stack .push (x );
19
+ stack .push (x );
20
+ } else {
21
+ int tmp = stack .peek ();
22
+ stack .push (x );
23
+ if (tmp < x ) {
24
+ stack .push (tmp );
25
+ } else {
26
+ stack .push (x );
27
+ }
28
+ }
29
+ }
30
+
31
+ public void pop () {
32
+ stack .pop ();
33
+ stack .pop ();
34
+ }
35
+
36
+ public int top () {
37
+ return stack .get (stack .size () - 2 );
38
+ }
39
+
40
+ public int getMin () {
41
+ return stack .peek ();
42
+ }
43
+ }
You can’t perform that action at this time.
0 commit comments