我必須在Java中編寫一個遞歸方法,如果行是遞減的,則返回true,否則返回false。遞歸方法檢查一行整數是否遞減:return true/false
這是我嘗試過,但它不能正常工作:我覺得你有不必要的情況下,如果大小小於2,你只能假設真
ArrayList<Integer> getallen = new ArrayList();
getallen.add(500);
getallen.add(400);
getallen.add(300);
getallen.add(200);
getallen.add(100);
getallen.add(0);
System.out.println(isDescending(getallen));
}
public static boolean isDescending(ArrayList<Integer> getallen) {
if (getallen.size() >= 2) {
if (getallen.get(0) < getallen.get(1)) {
return false;
} else if (getallen.size() > 0) {
getallen.remove(0);
return isDescending(getallen);
} else {
return true;
}
} else {
return false;
}
}
什麼不起作用? –
您的問題與基本案例。什麼是'isDescending'應該返回長度爲1的列表? – Tunaki
@Tunaki - 我不認爲也有這個問題。他正在檢查列表是遞減的,並且大小列表不能被稱爲遞減。因此否則塊應該很好。 –