import java.util.ArrayDeque;
import java.util.Deque;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Deque<Integer> stackDeque = new ArrayDeque<>();
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
for (int i = 0; i < n; i++) {
String string = scanner.next();
if (string.equals("push")) {
stackDeque.push(scanner.nextInt());
} else if (string.equals("pop")) {
if (stackDeque.size() > 0) {
stackDeque.pop();
} else {
System.out.println("Empty");
}
} else if (string.equals("query")) {
if (!stackDeque.isEmpty()) {
System.out.println(stackDeque.peek());
} else {
System.out.println("Empty");
}
} else if (string.equals("size")) {
System.out.println(stackDeque.size());
}
}
}
}
使用栈推荐用Deque创建而不是Stack,后续pop()和peek()操作之前都得判断是否为空,如果为空还使用这两个函数,会报错



京公网安备 11010502036488号