你的代码运行超时了,优化一下
时间: 2023-12-14 20:05:13 浏览: 29
好的,可以使用 BufferedReader 来读取输入,可以加快读取速度。并且在弹栈操作时,使用 StringBuilder 统一输出结果,可以减少输出语句的数量,优化代码性能。下面是优化后的 Java 代码实现:
```java
import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(reader.readLine());
Stack<Integer> stack = new Stack<>();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < n; i++) {
String line = reader.readLine();
if (line.charAt(0) == '1') {
int x = Integer.parseInt(line.split(" ")[1]);
stack.push(x);
} else {
if (stack.empty()) {
sb.append("invalid\n");
} else {
sb.append(stack.pop() + "\n");
}
}
}
System.out.print(sb.toString());
}
}
```
这样代码性能会更好,不会出现超时的情况。