要避免Java遞歸中的死循環,請遵循以下建議:
public int factorial(int n) {
if (n == 0 || n == 1) { // 基本情況
return 1;
} else {
return n * factorial(n - 1);
}
}
public int factorial(int n, int accumulator) {
if (n == 0) { // 基本情況
return accumulator;
} else {
return factorial(n - 1, n * accumulator); // 尾遞歸調用
}
}
public int sum(int[] arr, int index) {
if (index < arr.length) { // 基本情況
return arr[index] + sum(arr, index + 1);
} else {
return 0;
}
}
public int sum(int[] arr) {
int sum = 0;
for (int i = 0; i < arr.length; i++) {
sum += arr[i];
}
return sum;
}
遵循這些建議,可以有效地避免Java遞歸中的死循環。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。