力扣:155:最小栈(添加新的解决办法)
This commit is contained in:
parent
ea82863e4b
commit
d2ab9a62bb
@ -54,29 +54,75 @@ public class MinStack {
|
|||||||
//力扣代码
|
//力扣代码
|
||||||
//leetcode submit region begin(Prohibit modification and deletion)
|
//leetcode submit region begin(Prohibit modification and deletion)
|
||||||
class MinStack {
|
class MinStack {
|
||||||
Stack<Integer> stack;
|
// Stack<Integer> stack;
|
||||||
Stack<Integer> min;
|
// Stack<Integer> min;
|
||||||
|
// public MinStack() {
|
||||||
|
// stack = new Stack<>();
|
||||||
|
// min = new Stack<>();
|
||||||
|
// }
|
||||||
|
// public void push(int val) {
|
||||||
|
// if (stack.isEmpty()) {
|
||||||
|
// min.push(val);
|
||||||
|
// } else {
|
||||||
|
// min.push(Math.min(min.peek(),val));
|
||||||
|
// }
|
||||||
|
// stack.push(val);
|
||||||
|
// }
|
||||||
|
// public void pop() {
|
||||||
|
// stack.pop();
|
||||||
|
// min.pop();
|
||||||
|
// }
|
||||||
|
// public int top() {
|
||||||
|
// return stack.peek();
|
||||||
|
// }
|
||||||
|
// public int getMin() {
|
||||||
|
// return min.peek();
|
||||||
|
// }
|
||||||
|
class Data{
|
||||||
|
int num;
|
||||||
|
int min;
|
||||||
|
public Data(int num, int min) {
|
||||||
|
this.num = num;
|
||||||
|
this.min = min;
|
||||||
|
}
|
||||||
|
public int getNum() {
|
||||||
|
return num;
|
||||||
|
}
|
||||||
|
public void setNum(int num) {
|
||||||
|
this.num = num;
|
||||||
|
}
|
||||||
|
public int getMin() {
|
||||||
|
return min;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMin(int min) {
|
||||||
|
this.min = min;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Stack<Data> stack;
|
||||||
|
|
||||||
public MinStack() {
|
public MinStack() {
|
||||||
stack = new Stack<>();
|
stack = new Stack<>();
|
||||||
min = new Stack<>();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void push(int val) {
|
public void push(int val) {
|
||||||
if (stack.isEmpty()) {
|
if (stack.isEmpty()) {
|
||||||
min.push(val);
|
stack.push(new Data(val,val));
|
||||||
} else {
|
} else {
|
||||||
min.push(Math.min(min.peek(),val));
|
stack.push(new Data(val,Math.min(val,stack.peek().min)));
|
||||||
}
|
}
|
||||||
stack.push(val);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void pop() {
|
public void pop() {
|
||||||
stack.pop();
|
stack.pop();
|
||||||
min.pop();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int top() {
|
public int top() {
|
||||||
return stack.peek();
|
return stack.peek().num;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getMin() {
|
public int getMin() {
|
||||||
return min.peek();
|
return stack.peek().min;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user