给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。返回这个结果。
解答一:
循环
class Solution {
public:
int addDigits(int num) {
int res = 0;
while(num / 10 != 0){
res += num % 10;
num = num / 10;
}
res += num;
if(res / 10 == 0) return res;
else return addDigits(res);
}
};
解答二:
找规律
class Solution {
public:
int addDigits(int num) {
return (num - 1) % 9 + 1;
}
};