Given a non-negative integer num
, repeatedly add all its digits until the
result has only one digit.
For example:
Given num = 38
, the process is like: 3
+ 8 = 11
, 1 + 1 = 2
. Since 2
has
only one digit, return it.
Follow up:
Could you do it without any loop/recursion in O(1) runtime?
输出 | 输入 | 输入 | 输入 |
0 | 0 | ||
1 | 1 | 10 | 19 |
2 | 2 | 11 | 20 |
3 | 3 | 12 | 21 |
4 | 4 | 13 | 22 |
5 | 5 | 14 | 23 |
6 | 6 | 15 | 24 |
7 | 7 | 16 | 25 |
8 | 8 | 17 | 26 |
9 | 9 | 18 | 27 |
class Solution {
public:
int addDigits(int num) {
if(num==0)
return 0;
if(num%9)
return num%9;
return 9;
}
};