剑指offer--包含min函数的栈

原创 2017年04月25日 16:42:40

题目描述
定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。


AC代码:

import java.util.Stack;

public class Solution {

    Stack stack = new Stack();

    public void push(int node) {
        stack.push(node);
    }

    public void pop() {
        stack.pop();
    }

    public int top() {
        return (int)stack.pop();
    }

    public int min() {
        Stack tmp = new Stack();
        int min = (int)stack.pop();
        tmp.push(min);
        while(!stack.isEmpty()){
            int top = (int)stack.pop();
            if ( top < min){
                min = top;
            }
            tmp.push(top);
        }
        while(!tmp.isEmpty()){
            stack.push(tmp.pop());
        }
        return min;
    }
}
版权声明:本文为博主原创文章,若需转载,请注明http://blog.csdn.net/qq_30091945

相关文章推荐

剑指Offer之面试题21:包含min函数的栈

所有代码均通过G++编译器测试,仅为练手纪录。 //面试题21:包含min函数的栈 //题目:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的min函数。 //     ...
  • Pillary
  • Pillary
  • 2016年12月25日 19:21
  • 543

剑指Offer:面试题21 包含min函数的栈

/* 包含min函数的栈: 定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的min函数。在该栈中,调用min、push及pop的 时间复杂度都是O(1) 分析: 如果直接...

剑指offer-面试题21.包含min函数的栈

题目:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的min函数。 在该栈中,调用min,push及pop的时间复杂度都是O(1).   这一题实际上需要一个辅助栈存储最...

剑指Offer 21:包含min函数的栈

题目:定义栈的数据结构,请在该类型中实现一个能够得到站的最小元素的min函数。在该栈中,调用min、push以及pop的时间复杂度都是O(1)。 题目分析我们要实现的两种效果是: 数据结构仍然是栈的...

剑指offer_面试题21_包含min函数的栈

题目:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小最小元素的min函数。在该栈中,调用min、push 及 pop的时间复杂度都是O(1)。 本题关键问题在于:O(1)时间复杂度的 min...

剑指offer 面试题21 包含 min 函数的栈

剑指offer 面试题21 包含 min 函数的栈 题目: 定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数, 在该栈中,调用 min、push 及 po...

《剑指offer》——包含min函数的栈

T: 题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。 刚开始看到这个题目的时候,有点儿蒙,不理解怎么去创建一个栈的数据结构?java中不都有标准的Sta...

【剑指Offer面试题】 九度OJ1522:包含min函数的栈

题目链接地址: http://ac.jobdu.com/problem.php?pid=1522题目1522:包含min函数的栈时间限制:1 秒内存限制:128 兆特殊判题:否提交:1861解决:...

剑指Offer-->包含min函数的栈

首先我们可以想到一种很简单的方法:将元素压入栈中,当第二个元素压栈的时候,与第一个元素进行比较,然后使较大的元素出栈,压栈结束后,栈中存留的便是最小的元素。但是,如果我们要想得到下一个最小的元素呢? ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:剑指offer--包含min函数的栈
举报原因:
原因补充:

(最多只允许输入30个字)