leetcode.258——各位相加

给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。

题目:给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。

示例:

输入: 38
输出: 2
解释: 各位相加的过程为:3 + 8 = 11, 1 + 1 = 2。 由于 2 是一位数,所以返回 2。

分析:首先可以看出当输入的数字大于10时,需要把各个位数的数字相加,当它小于10时,就可以直接输出,由此看出需要使用递归

代码:

/**
 * @param {number} num
 * @return {number}
 */
var addDigits = function(num) {
    if(num < 10)
        return num;
    let sum = 0;
    while(num!=0){
        sum += num%10;
        num = Math.floor(num/10)
    }
    return addDigits(sum)
};

 

你可能感兴趣的:(JavaScript)