今天无意中看到的一个小题目,顺手写了一下:
public static ArrayList<Integer> writeBinary(ArrayList<Integer> binary,
int n) {
if (n / 2 >= 1) {
int m = 0;
int bin = n % 2;
binary.add(bin);
m = n / 2;
System.out.print(bin);
writeBinary(binary, m);
} else {
binary.add(n);
System.out.print(n);
return binary;
}
return binary;
}
无意看了一下答案,瞬间凌乱:
public static void writeBinary(int n) {
if (n < 0)
throw new IllegalArgumentException();
else if (n <= 1)
System.out.print(n);
else if (n > 1) {
writeBinary(n /2 );
System.out.print(n % 2);
}
}