给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。
示例:
输入: 38
输出: 2
解释: 各位相加的过程为:3 + 8 = 11, 1 + 1 = 2。 由于 2 是一位数,所以返回 2。
来源:力扣(LeetCode)
链接: link.
var addDigits = function (num) {
function foo(s) {
let myNum = s.toString().split("").reduce((a, b) => parseInt(a) + parseInt(b));
let n = myNum.toString().length;
if (n > 1) {
return foo(myNum)
} else {
return myNum
}
}
if (num.toString().length > 1) {
return foo(num)
} else {
return num
}
};