力扣:155:最小栈(添加新的解决办法)

This commit is contained in:
huangge1199 2021-04-01 08:51:45 +08:00
parent ea82863e4b
commit d2ab9a62bb

View File

@ -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() { // public MinStack() {
stack = new Stack<>(); // stack = new Stack<>();
min = 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 void push(int val) { public int getNum() {
if (stack.isEmpty()) { return num;
min.push(val);
} else {
min.push(Math.min(min.peek(),val));
} }
stack.push(val); public void setNum(int num) {
} this.num = num;
public void pop() {
stack.pop();
min.pop();
}
public int top() {
return stack.peek();
} }
public int getMin() { public int getMin() {
return min.peek(); return min;
}
public void setMin(int min) {
this.min = min;
}
}
Stack<Data> stack;
public MinStack() {
stack = new Stack<>();
}
public void push(int val) {
if (stack.isEmpty()) {
stack.push(new Data(val,val));
} else {
stack.push(new Data(val,Math.min(val,stack.peek().min)));
}
}
public void pop() {
stack.pop();
}
public int top() {
return stack.peek().num;
}
public int getMin() {
return stack.peek().min;
} }
} }