您的位置:首页 > 编程语言 > Python开发

<LeetCode><Easy>258Add Digits

2015-10-14 15:41 369 查看
Given a non-negative integer 
num
, repeatedly add all its digits until the
result has only one digit.

For example:

Given 
num = 38
, 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?

#Python2   80ms

class Solution(object):
def addDigits(self, num):
add=lambda x:sum(int(i) for i in str(x))
s=add(num)
while 1:
if s<10:return s
else:s=add(s)


#Python2  64ms

class Solution(object):
def addDigits(self, num):
while num>9:
num=sum(int(i) for i in str(num))
return num
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python