题解 | #【模板】栈#
【模板】栈
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--; } } } }