如何在Java中编写一个递归方法,该方法接受嵌套列表并计算奇数长度的列表数和偶数长度的列表数?到目前为止我只得到了这个:
public class MyRekursion {
// [number of odd-lengthed lists, number of even-lengthed lists]
public static int[] countOddEven(List<Object> nestedList) {
int odd = 0;
int even = 0;
for (Object obj : nestedList){
if (obj instanceof List){
// ???
}
}
return new int[] { odd, even };
}
}
答案 0 :(得分:3)
public class MyRecursion {
public static int[] countOddEven(List nestedList) {
int odd = 0;
int even = 0;
for (Object obj : nestedList) {
if (obj instanceof List) {
int[] res = countOddEven((List)obj);
odd += res[0];
even += res[1];
}
}
if (nestedList.size() % 2 == 1) {
++odd;
} else {
++even;
}
return new int[] { odd, even };
}
}
答案 1 :(得分:0)
这应该取代你的/ ??因为当你用2(模数)时,%2给出了剩余值。所以,如果这等于0,那就是偶数,否则它是不均匀的
if ((obj.size() % 2) == 0 {
even++;
}else{
odd++;
}
}