题目:
方法:
使用一个求余和int保留整数的小技巧,取平方和的每个位置上的数字。
新建一个list,每次求和的结果放进去。
每求一次和判断是否等于1,等于1的话True。
不等于1的话在list里检索是否有重复的值。有的话False。
class Solution:
def isHappy(self, n):
"""
:type n: int
:rtype: bool
"""
dict = []
while True:
sum = 0
while n > 0:
sum += (n%10)**2
n = int(n/10)
n = sum
if sum == 1:return True
elif sum in dict:return False
else:dict.append(sum)