258. 各位相加

发布于 14 天前  12 次阅读


给定一个非负整数 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%的用户