从零开始刷力扣(八十八)——258. 各位相加

分类:数与位

题目描述

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

示例:

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

思路:

递归

代码实现:

/**
 * @param {number} num
 * @return {number}
 */
var addDigits = function (num) {
    if (num < 10) {
        return num;
    }
    let sum = 0;
    const str = num + '';
    for (let i = 0, len = str.length; i < len; i++) {
        sum += +str[i];
    }
    return addDigits(sum);
};

运行结果:

从零开始刷力扣(八十八)——258. 各位相加_第1张图片

 

 

 

 

你可能感兴趣的:(LeetCode,leetcode)