[LeetCode]258. Add Digits
题目描述
思路
循环相加每一位
每次获取num的个位,加到和中,num = num / 10,循环直至num / 10为0,最后在外层sum += num,
对得到的sum进行判断,若大于等于10,递归处理
否则输出
详见代码
update
没看清题目,不准用递归和循环
实际是一道规律题
对9取模即可
代码
class Solution {
public:
int addDigits(int num) {
int sum = 0;
if (sum == 10) {
return 1;
}
while (num / 10) {
sum += num % 10;
num /= 10;
}
sum += num;
if (sum >= 10) {
sum = addDigits(sum);
}
return sum;
}
};