258 Add Digits
Given a non-negative integernum
, repeatedly add all its digits until the result has only one digit.
Example:
Input:
38
Output:
2
Explanation:
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?
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 1
11 2
12 3
13 4
14 5
15 6
16 7
17 8
18 9
19 1
20 2
time : O(1);
space : O(1):
class Solution {
public int addDigits(int num) {
return (num - 1) % 9 + 1;
}
}