题目描述:
给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。返回这个结果。
示例 1:
输入: num = 38
输出: 2
解释: 各位相加的过程为:
38 --> 3 + 8 --> 11
11 --> 1 + 1 --> 2
由于 2 是一位数,所以返回 2。
示例 2:
输入: num = 0
输出: 0
思路:
本题展示字符串的解法
JAVA题解:
class Solution {
public int addDigits(int num) {
int sum=0;
if(num<10) return num;
else{
while(true){
String s=Integer.toString(num);
sum=0;
for(int i=0;i<s.length();i++){
sum+=s.charAt(i)-48;
}
if(sum<10) return sum;
else num=sum;
}
}
}
}