258. Add Digits 【递归】

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/mygodhome/article/details/84995940

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. 
             Since 2 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)
            
            
            
            
            

猜你喜欢

转载自blog.csdn.net/mygodhome/article/details/84995940