题目:给出一个非负整数 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