题解 | #包含min函数的栈#

包含min函数的栈

http://www.nowcoder.com/practice/4c776177d2c04c2494f2555c9fcc1e49

//栈的应用(熟悉栈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;
    }
}
全部评论

相关推荐

07-22 11:12
门头沟学院 Java
不是,我就随手投的怎么还真发面试啊
皮格吉:大厂特别快的——来自已经被共享中
点赞 评论 收藏
分享
05-29 22:11
门头沟学院 Java
Elastic90:抛开学历造假不谈,这公司的招聘需求也挺怪的,Java开发还要求你有图文识别、移动端开发和c++的经验,有点逆天了。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务