簡體   English   中英

如何使用遞歸來反轉數字

[英]How to reverse a number using recursion

我想只遞歸發送數字本身,而不發送更多變量!

因此,我編寫了進行操作的代碼,但沒有停止點。

編碼:

public static int upsideDown (int number) {
    number += (number%10)*(Math.pow(10, String.valueOf(number).length()));
    number %= 10;
    return upsideDown (number);
}

您需要將要使用的數字存儲在局部變量中,而不是修改number

您需要-而不是number %= 10來(整數) 除以 10。

您需要先前存儲的數字乘以10以提高到string.length - 1的冪; 您需要將此結果添加到對upsideDown的遞歸調用的返回值中。 實際上,對於length - 1的for循環,每次通過循環乘以10會比使用pow更有效。

退出代碼應該只是if (number == 0) return 0; 在方法開始時。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM