本文共 573 字,大约阅读时间需要 1 分钟。
1.问题描述:
给出一个非负整数 num
,反复的将所有位上的数字相加,直到得到一个一位的整数。
2.样例:
给出 num
= 38。
相加的过程如下:3 + 8 = 11
,1 + 1 = 2
。因为 2
只剩下一个数字,所以返回 2
。
3.代码:
class Solution: """ @param: num: a non-negative integer @return: one digit """ def addDigits(self, num): # write your code here if num<10: return num sum=0 while num>=10: a=num//10 sum+=a num=num-10*a sum+=num if sum>=10: sum=self.addDigits(sum) return sum
本题需要注意:
1)python中 使用‘//’ 取得两数相除的商
2)在完成一次操作之后,对sum再进行判断,如果不满足终止条件,则继续进行迭代。
转载地址:http://wouii.baihongyu.com/