题解 | #【模板】栈#

【模板】栈

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);
        // 记录操作数
        int optNum = in.nextInt();
        // 定义一个长度=操作数的数组
        int[] stack = new int[optNum];
        // 定义栈顶指针记录栈使用情况
        int top = -1;
        while (in.hasNextLine()) {
            // 获取当前输入的字符串
            String optText = in.nextLine();
            // 字符串以push开头->入栈
            if (optText.startsWith("push")) {
                String pushNumStr = optText.substring(5);
                int pushNum = Integer.parseInt(pushNumStr);
                stack[++top] = pushNum;
            }
            // 字符串以pop开头 -> 出栈(无输出)
            if (optText.startsWith("pop")) {
                // 栈为空
                if (top == -1) {
                    System.out.println("error");
                } else {
                    System.out.println(stack[top--]);
                }
            }
            // 字符串以top开头 -> 输出栈顶元素
            if (optText.startsWith("top")) {
                if (top == -1) {
                    System.out.println("error");
                } else {
                    System.out.println(stack[top]);
                }
            }
        }
    }
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-11 11:24
大家还是用ai改吧,我心疼得要死,就当花钱买教训吧,人家直接拿完钱就跑路了
程序员小白条:简历修改700....神奇,又不是帮你面试,咋的,简历修改从双非变92了还是没实习变成有大厂实习了
点赞 评论 收藏
分享
零OFFER战士:另一个版本查看图片
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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