题解 | #包含min函数的栈#
包含min函数的栈
https://www.nowcoder.com/practice/4c776177d2c04c2494f2555c9fcc1e49
import java.util.*;
import java.util.Stack;
public class Solution {
Stack<Integer> stack1=new Stack<>();
Stack<Integer> stack2=new Stack<>();
public void push(int node) {
stack1.add(node);
}
public void pop() {
stack1.pop();
}
public int top() {
return stack1.peek();
}
public int min() {
//取出栈顶给min初始化
int min=stack1.peek();
//将stack1里的数倒入stack2,并比较、更新min
while(!stack1.isEmpty()){
int p=stack1.pop();
if(p<min){
min=p;
}
stack2.add(p);
}
//再把stack2里的数倒回给stack1
while(!stack2.isEmpty()){
stack1.add(stack2.pop());
}
return min;
}
}
美的集团公司福利 873人发布