• 20包含min函数的栈


     

    题目描述

    定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。
     
    建一个辅助栈,把每次最小最小的元素(之前最小元素,与当前新入栈的元素比较)放在辅助栈里。
     
     1 import java.util.Stack;
     2 
     3 public class Solution {
     4     Stack<Integer> stack = new Stack<Integer>();
     5     Stack<Integer> min = new Stack<Integer>();
     6     public void push(int node) {
     7         if(stack.empty()){
     8             stack.push(node);
     9             min.push(node);
    10         }
    11         else{
    12             if(node < min.peek())
    13                 min.push(node);
    14             else 
    15                 min.push(min.peek());
    16             stack.push(node);
    17             }
    18         
    19     }
    20     
    21     public void pop() {
    22         stack.pop();
    23         min.pop();
    24     }
    25     
    26     public int top() {
    27         return stack.peek();
    28     }
    29     
    30     public int min() {
    31         return min.peek();
    32     }
    33 }
  • 相关阅读:
    Django模型层进阶
    Django模型层相关
    BOM与DOM
    JavaScript入门
    HTML基础
    子查询/联合分组/all与any/视图/事务
    表的查询
    mysql的多表关系
    Mysql基本操作
    Spider_基础总结2_Requests异常
  • 原文地址:https://www.cnblogs.com/zle1992/p/7864874.html
Copyright © 2020-2023  润新知