Problem Description
输入N个整数顺序建立一个单链表,将该单链表拆分成两个子链表,第一个子链表存放了所有的偶数,第二个子链表存放了所有的奇数。两个子链表中数据的相对次序与原链表一致。
Input
第一行输入整数N;;
第二行依次输入N个整数。
Output
第一行分别输出偶数链表与奇数链表的元素个数;
第二行依次输出偶数子链表的所有数据;
第三行依次输出奇数子链表的所有数据。
Sample Input
10
1 3 22 8 15 999 9 44 6 1001
Sample Output
4 6
22 8 44 6
1 3 15 999 9 1001
Hint
不得使用数组!
Source
package cn.edu.sdut.acm;
import java.util.*;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
List<Integer> list1 = new ArrayList<>();
List<Integer> list2 = new ArrayList<>();
int count1 = 0;
int count2 = 0;
while (n > 0){
n--;
Integer num = sc.nextInt();
if (num % 2 == 0){
list2.add(num);
count2++;
}
else{
list1.add(num);
count1++;
}
}
System.out.println(count2+" "+count1);
boolean b = true;
for (Integer i : list2){
if (b){
b = false;
System.out.print(i);
}
else{
System.out.print(" "+i);
}
}
System.out.println();
b = true;
for (Integer i : list1){
if (b){
b = false;
System.out.print(i);
}
else{
System.out.print(" "+i);
}
}
}
}