258-各位相加-归根到底是数学

发布时间 2023-11-10 19:41:22作者: LYoungH

给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。返回这个结果。

 

示例 1:

输入: num =38
输出: 2 
解释: 各位相加的过程为38 --> 3 + 8 --> 11
11 --> 1 + 1 --> 2
由于 2 是一位数,所以返回 2。

class Solution(object):
    def addDigits(self, num):
        """
        :type num: int
        :rtype: int
        """
        if len(str(num)) == 1:  
            return num
        else:
            l = list(str(num)) 
            s = 0
            for i in range(len(l)):
                s+= int(l[i]) 
            return self.addDigits(s)  

 

用数学: