LintCode python 小白-简单题-569各位相加

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/xiongxu3381/article/details/76171734

题目:给出一个非负整数 num,反复的将所有位上的数字相加,直到得到一个一位的整数。
样例
给出 num = 38。
相加的过程如下:3 + 8 = 11,1 + 1 = 2。因为 2 只剩下一个数字,所以返回 2。

思路:这道题主要是数字先转换为字符串,然后字符串分割的数字再一个个转换为数字后进行加法计算。(ps:数字无法转换为列表)
代码:

class Solution:
    # @param {int} num a non-negative integer
    # @return {int} one digit
    def addDigits(self, num):
        # Write your code here
        if num<10:
            return num
        a=str(num)
        while len(str(a))>1:        
            b=0
            for i in range(len(a)):
                b+=int(a[i])
            a=str(b)
        return b
展开阅读全文

没有更多推荐了,返回首页