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:
0 <= num <= 231 - 1
- code
class Solution:
def addDigits(self, num: int) -> int:
res = str(num)
while int(res) >= 10:
nres = 0
for v in str(res):
nres += int(v)
res = nres
return res
- code
class Solution:
def addDigits(self, num: int) -> int:
res = 0
while num > 0:
res += num % 10
num //= 10
if num == 0 and res > 9:
num, res = res, 0
return res
- code
class Solution:
def addDigits(self, num: int) -> int:
if num == 0:
return 0
if num % 9 == 0:
return 9
return num % 9