题目描述:
Given a non-negative integer num
, repeatedly add all its digits until the result has only one digit.
Example:
Input:38
Output: 2 Explanation: The process is like:3 + 8 = 11
,1 + 1 = 2
. Since2
has only one digit, return it.
中文理解:给出一个数,不断让这个数的各个位的数字相加,再将和赋值给这个数直到这个数小于10位置。
解题思路:可以不断把这个数的各个进制位累加,直到结果<10为止。
代码(java):
class Solution {
public int addDigits(int num) {
while(num>9){
int sum=0;
while(num>0){
sum+=num%10;
num=num/10;
}
num=sum;
}
return num;
}
}