Given a non-negative integer num
, 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
. Since2
has only one digit, return it.
Follow up:
Could you do it without any loop/recursion in O(1) runtime?
class Solution:
def addDigits(self, num):
"""
:type num: int
:rtype: int
"""
a=len(str(num))
y=0
for i in range(a):
y=num%10+y
num=num//10
if y<10:
return y
else:
return self.addDigits(y)