腾讯笔试第一题,输出有点问题,求大佬帮忙看看
为什么最后需要按一个回车才能打印出最后一个数字,否则结束不了,求大佬帮忙看看
/*
import java.util.*;
public class Main
{
public static void main(String args[])
{
Scanner cin = new Scanner(System.in);
int n = Integer.parseInt(cin.nextLine());
while(n-->0){
int m = Integer.parseInt(cin.nextLine());
test(m,cin);
}
cin.close();
}
public static void test(int m,Scanner cin){
Queue<Integer> q = new LinkedList<Integer>();
while(m-->0) {
String s = cin.nextLine();
if (s.startsWith("PUSH")) {
q.add(s.charAt(s.length()-1)-'0');
}
if (s.startsWith("TOP")) {
if(q.size() > 0)
System.out.println(q.peek());
else
System.out.println("-1");
}
if (s.startsWith("POP")) {
if(q.size() > 0)
q.remove();
else
System.out.println("-1");
}
if (s.startsWith("SIZE")) {
System.out.println(q.size());
}
if (s.startsWith("CLEAR")) {
q.clear();
}
}
}
} 第一题:模拟队列操作
数据结构基础之一一队列
队列有五种基本操作,插入队尾、取出队首、删除队首、队列大小、清空队列。
现在让你模拟一个队列的操作,具体格式参考输入。
输入描述:
第一行输入一个整数T,表示接下来有T组测试数据。
对于每组测试数据:
第一行输入一个整数Q,表示有Q次操作。
接下来Q行,每行输入一种队列操作方式,具体格式如下:
初始状态下队列为空。
插入队尾: PUSH X
取出队首: TOP//仅仅是看一下队首元素,不要把队首元素删除
删除队首: POP
队列大小: SIZE
清空队列: CLEAR
1<T<100
1<Q,X≤1000
保证操作为以上5种的任意一种。
输出描述
对于每组测试数据:
如果操作为“取出队首”,输出队首元素,如果无法取出,输出“-1”
如果操作为“删除队首”,如果无法删除,输出“-1”
如果操作为“队列大小”,输出队列大小
其他操作无需输出
示例输入
2
7
PUSH 1
PUSH 2
TOP
POP
TOP
POP
POP
5
PUSH 1
PUSH 2
SIZE
POP
SIZE
结果:
1
2
-1
2
1
* */
数据结构基础之一一队列
队列有五种基本操作,插入队尾、取出队首、删除队首、队列大小、清空队列。
现在让你模拟一个队列的操作,具体格式参考输入。
输入描述:
第一行输入一个整数T,表示接下来有T组测试数据。
对于每组测试数据:
第一行输入一个整数Q,表示有Q次操作。
接下来Q行,每行输入一种队列操作方式,具体格式如下:
初始状态下队列为空。
插入队尾: PUSH X
取出队首: TOP//仅仅是看一下队首元素,不要把队首元素删除
删除队首: POP
队列大小: SIZE
清空队列: CLEAR
1<T<100
1<Q,X≤1000
保证操作为以上5种的任意一种。
输出描述
对于每组测试数据:
如果操作为“取出队首”,输出队首元素,如果无法取出,输出“-1”
如果操作为“删除队首”,如果无法删除,输出“-1”
如果操作为“队列大小”,输出队列大小
其他操作无需输出
示例输入
2
7
PUSH 1
PUSH 2
TOP
POP
TOP
POP
POP
5
PUSH 1
PUSH 2
SIZE
POP
SIZE
结果:
1
2
-1
2
1
* */
我的结果:
1
2
-1
2
1
2
-1
2
1
(2后面必须按回车才会出现最后的1,否则程序结束不了,这是为什么呢)
#腾讯笔试##腾讯#
三奇智元机器人科技有限公司公司福利 65人发布

