# 258-add-digits Try it on leetcode ## Description

Given an integer num, repeatedly add all its digits until the result has only one digit, and return it.

 

Example 1:

Input: num = 38
Output: 2
Explanation: The process is
38 --> 3 + 8 --> 11
11 --> 1 + 1 --> 2 
Since 2 has only one digit, return it.

Example 2:

Input: num = 0
Output: 0

 

Constraints:

 

Follow up: Could you do it without any loop/recursion in O(1) runtime?

## Solution(Python) ```Python class Solution: def addDigits(self, num: int) -> int: return self.math(num) def trivialSolution(self, num: int) -> int: digital_root = 0 while num > 0: digital_root += num % 10 num = num // 10 if num == 0 and digital_root > 9: num = digital_root digital_root = 0 return digital_root def math(self, num: int) -> int: if num == 0: return num elif num % 9 == 0: return 9 else: return num % 9 ```