1. 程式人生 > >Java——單鏈表的拆分

Java——單鏈表的拆分

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

AC程式碼:

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner mi = new Scanner(System.in);
		int n = mi.nextInt();
		int[] a = new int[n];
		int[] b = new int[n];
		int k1 = 0, k2 = 0;
		for (int i = 0; i < n; i++) {
			int x = mi.nextInt();
			if (x % 2 == 0) {
				a[k1++] = x;
			} else {
				b[k2++] = x;
			}
		}
		System.out.println(k1 + " " + k2);
		for (int i = 0; i < k1 - 1; i++) {
			System.out.print(a[i] + " ");
		}
		System.out.println(a[k1 - 1]);
		for (int i = 0; i < k2 - 1; i++) {
			System.out.print(b[i] + " ");
		}
		System.out.println(b[k2 - 1]);
		mi.close();
	}
}

————————
餘生還請多多指教!