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(object): def addDigits(self, num): """ :type num: int :rtype: int """ s=str(num) while len(s)>1: n=0 for i in s: n+=int(i) s=str(n) return int(s)