The sword refers to the offer --- stack containing min, and the sword refers to the offer --- min
Idea: This question is mainly used to supplement the stack's min method. For example, the stack has built-in methods such as pop, push, and peek. Each call to these methods can return a result or a response, this question is intended to supplement the min method so that every call to the min method can get the minimum value in the stack, so that the elements in the stack remain unchanged after each execution of the min () function.
Push (6), min () returns 6; push (7), min () returns 6, push (2), min () 2 ..........
Public class Solution {
Stack <Integer> stack = new Stack <Integer> ();
Public void push (int node ){
Stack. push (node );
}
Public void pop (){
Stack. pop ();
}
Public int top (){
Return stack. peek ();
}
Public int min (){
Stack <Integer> st = new Stack <Integer> ();
Int min = stack. pop ();
St. push (min );
While (! Stack. isEmpty ()){
Int temp = stack. pop ();
If (temp <min ){
Min = temp;
}
St. push (temp );
}
While (! St. isEmpty ()){
Stack. push (st. pop ());
}
Return min;
}
}