题目:
幼儿园两个班的小朋友排队时混在了一起,每个小朋友都知道自己跟前面一个小朋友是不是同班,
请你帮忙把同班的小朋友找出来。
小朋友的编号为整数,与前面一个小朋友同班用Y表示,不同班用N表示。
输入描述:
输入为空格分开的小朋友编号和是否同班标志
比如 6/N 2/Y 3/N 4/Y
表示一共有4位小朋友
2和6是同班 3和2不同班 4和3同班
小朋友总数不超过999
0< 每个小朋友编号 <999
输出两行
每一行记录一班小朋友的编号 编号用空格分开
并且
1. 编号需要按照大小升序排列,分班记录中第一个编号小的排在第一行
2. 如果只有一个班的小朋友 第二行为空
3. 如果输入不符合要求输出字符串ERROR
示例:
输入
1/N 2/Y 3/N 4/Y
输出
1 2
3 4
说明:2的同班标记为Y因此和1同班
3的同班标记位N因此和1,2不同班
4的同班标记位Y因此和3同班
思路:
1.根据要求1编号需要按照大小升序排列,所以用TreeSet来存放数据;
2.先将第一个同学的编号放进第一个班级,此时flag = 1;
3.从第二个同学开始遍历;
4.如果是N说明与前一个同学不同班级,通过flag来判断放入哪个班级,如果前一个同学的 flag=1,那么此时这个同学就放进二班,此时flag应该代表当前这个同学所以flag