## Solutions
### Digit Manipulation
```python
class Solution(object):
def addDigits(self, num):
"""
:type num: int
:rtype: int
"""
while num >= 10:
num = num % 10 + num // 10
return num
```
#### Complexity Analysis
- Time complexity is On
- Space complexity is O1
### Digital Root
```python
class Solution(object):
def addDigits(self, num):
"""
:type num: int
:rtype: int
"""
if num == 0:
return 0
return 1 + (num - 1) % 9
```
Math Formula: [Digital root - Wikipedia](https://en.wikipedia.org/wiki/Digital_root?useskin=vector)
#### Complexity Analysis
- Time complexity is O1
- Space complexity is O1