各位相加
阿新 • • 發佈:2017-10-18
整數 pro code 思想 light int 實現 digits logs
題目鏈接
http://www.lintcode.com/zh-cn/problem/add-digits/
題目大意
給出一個非負整數 num
,反復的將所有位上的數字相加,直到得到一個一位的整數。
樣例
給出 num
= 38。
相加的過程如下:3 + 8 = 11
,1 + 1 = 2
。因為 2
只剩下一個數字,所以返回 2
。
算法思想
遞歸判斷這個數字被拆分後求和,和是不是小於10,小於10的話就結束遞歸
代碼實現
public class Solution { /* * @param num: a non-negative integer * @return: one digit */ public int addDigits(int num) { if (num < 10) return num; else { int result = 0; while (num / 10 != 0) { result += num % 10; num = num / 10; } result += num % 10; return addDigits(result); } } }
各位相加