给定一个非负整数 num
,反复将各个位上的数字相加,直到结果为一位数。返回这个结果。
输入: num = 38
解释: 各位相加的过程为:
38 --> 3 + 8 --> 11
11 --> 1 + 1 --> 2
由于 2 是一位数,所以返回 2。
输入: num = 0
输出: 0
用了递归。。
class Solution {
public static int addDigits(int num) {
if(num<10) {
return num;
}
int num1 = 0;
while(num >= 10) {
num1 += num % 10;
num = num/10;
}
num1 += num % 10;
return addDigits(num1);
}
}
执行用时:0 ms, 在所有 Java 提交中击败了100.00%的用户
内存消耗:38.9 MB, 在所有 Java 提交中击败了45.15%的用户
Comments | NOTHING