202. 快乐数
https://leetcode-cn.com/problems/happy-number/
解法一:
观察可知,一旦出现重复数字,则进入循环。将所有第一次出现的数存入一个set,一直计算直到出现set中存在的数为止。过程中出现1则返回true
class Solution:
def isHappy(self, n: int) -> bool:
s = set()
while n not in s:
#若出现1就返回true
if n == 1:
return True
s.add(n)
#计算快乐数
sum = 0
while n > 0:
digit = n % 10
n //= 10
sum += digit ** 2
n = sum #更新
return False
最后更新于