//栈的应用(熟悉栈Stack的各种常见的API方法)
import java.util.Stack;
import java.util.Iterator;
import java.lang.Math;
public class Solution {
Stack<Integer> stack = new Stack<>();
public void push(int node) {
stack.push(node);//压入栈
}
public void pop() {
stack.pop();//将栈顶元素弹出,并且删除栈顶元素
}
public int top() {
return stack.peek();//获取栈顶元素,但是不删除栈顶元素
}
public int min() {
//遍历栈的几种方法
//方法一:使用迭代器Iterator
// Iterator iterator = stack.iterator();
// int min = (int)iterator.next();
// while(iterator.hasNext()){
// min = Math.min(min,(int)iterator.next());
// }
// return min;
//方法二:使用toArray方法将栈转换为数组,然后遍历数组
// Object[] obj = stack.toArray();
// int length = obj.length;
// int min = (int)obj[0];
// int temp = 0;
// for(int i=1;i<length;i++){
// temp = (int)obj[i];
// if(temp < min){
// min = temp;
// }
// }
// return min;
//方法三:使用方法elementAt遍历栈
int size = stack.size();
int min = stack.elementAt(0);
int temp = 0;
for(int i=1;i<size;i++){
temp = stack.elementAt(i);
if(temp < min){
min = temp;
}
}
return min;
}
}