描述
请你实现一个栈。
操作:
push x:将 加� x 入栈,保证 � x 为 int 型整数。
pop:输出栈顶,并让栈顶出栈
top:输出栈顶,栈顶不出栈
输入描述:
第一行为一个正整数 � n ,代表操作次数。(1≤�≤100000)(1≤n≤100000)
接下来的 � n ,每行为一个字符串,代表一个操作。保证操作是题目描述中三种中的一种。
输出描述:
如果操作为push,则不输出任何东西。
如果为另外两种,若栈为空,则输出 "error“
否则按对应操作输出。
示例1
输入:
6 push 1 pop top push 2 push 3 pop
复制输出:
1 error 3
import java.util.Scanner;
import java.util.Stack;
public class Main {
public static void main(String[] args) {
Stack<Integer> stack=new Stack<>();
Scanner in = new Scanner(System.in);
int n=in.nextInt();
while (true) {
if(n<=0) break;
n--;
String str=in.next();
if("push".equals(str)){
int tmp=in.nextInt();
stack.push(tmp);
}
else if("pop".equals(str))
{
if(stack.isEmpty()) System.out.println("error");
else System.out.println( stack.pop() );
}
else if("top".equals(str))
{
if(stack.isEmpty()) System.out.println("error");
else System.out.println(stack.peek());
}
}
}
}