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

