题解 | #【模板】栈#

【模板】栈

https://www.nowcoder.com/practice/104ce248c2f04cfb986b92d0548cccbf

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
         int a = in.nextInt();
         in.nextLine();
         MyStack stack = new MyStack(a);
         for(int i = 0; i < a;i++){
            String input = in.nextLine();
            if(input.startsWith("push")){
              String[] s = input.split(" ");
              stack.push(Integer.parseInt(s[1]));
            }else if(input.startsWith("pop")){
                stack.pop();
            }else if(input.startsWith("top")){
                stack.top();
            }else{
                System.out.println("非法的输入!");
            }
         }
    }

    static class MyStack{
        int data[];
        int size = 0;
        int maxSize;
        int top = 0;
        public MyStack(int maxSize){
            this.maxSize = maxSize;
            this.data = new int[maxSize];
        }

        public void push(int val){
            if(this.size == this.maxSize){
                System.out.println("error");
            }else{
                data[top++] = val;
                this.size++;
            }
        }

        public void top(){
            if(this.size == 0){
                System.out.println("error");
            }else{
                System.out.println(data[top - 1]);
            }
        }

        public void pop(){
            if(this.size == 0){
                System.out.println("error");
            }else{
                System.out.println(data[--top]);
                this.size--;
            }
        }
    }
}

全部评论

相关推荐

抱抱碍事梨a:三点建议,第一点是建议再做一个项目,把自我介绍部分顶了,第二点是中南大学加黑加粗,第三点是建议加v详细交流
点赞 评论 收藏
分享
05-09 12:23
已编辑
华南理工大学 Java
野猪不是猪🐗:给他装的,双九+有实习的能看的上这种厂我直接吃⑨✌们拿它练练面试愣是给他整出幻觉了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务