请设计一个栈,除pop和push方法,还支持min方法,可返回栈元素中的最小值。

 - import java.util.Stack;
                 /**
              * 请设计一个栈,除pop和push方法,还支持min方法,可返回栈元素中的最小值。
           


          * Created by rgl on 2018/10/16.
          */    public class MySatck {
             Stack<Integer> s;
             Stack<Integer> fuzhu;
             public MySatck()
             {
                 s=new Stack<>();
                 fuzhu=new Stack<>();
             }
             public void push(int number)
             {
                 s.push(number);
                 if(fuzhu.isEmpty()==true){
                     fuzhu.push(number);
                 }
                 else
                 {
                     int temp=fuzhu.peek();
                     if(number<temp)
                         fuzhu.push(number);
                     else
                         fuzhu.push(temp);
                 }
             }
             public int pop(int i) throws Exception
             {
                 if(s.isEmpty()==true)
                     throw new Exception("栈空");
                 else
                 {
                     fuzhu.pop();
                     return s.pop();
                  }
             }
             public int min() throws Exception
             {
                 if(fuzhu.isEmpty()==true)
                     throw new Exception("栈中无元素");
                 else
                     return fuzhu.peek();
             }
             public static void main(String[] args) throws Exception {
         
                 MySatck t=new MySatck();
                 t.push(4);
                 t.push(8);
                 t.push(2);
                 t.push(1);
         
              //   t.pop(1);
               //  t.pop(2);
                 System.out.println(t.min());
             }
             }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值