这一题有两种结果一个是得到的值为1,另一种可能是陷入一个重复的循环过程,所以需要记录一下这个过程,一旦开始重复,说明不是happy number,代码如下:
class Solution(object):
def isHappy(self, n):
"""
:type n: int
:rtype: bool
"""
if n == 1:
return True
t = 0
res = []
res.append(n)
while t != 1:
t = 0
while n:
t += (n%10)*(n%10)
n = n/10
n = t
if t not in res:
res.append(t)
else:
return False
return True
网友评论