202. 快乐数

  1. [题目链接](202. 快乐数 - 力扣(LeetCode))

  2. 解题思路:不是快乐数,那么就会一直循环。所以只需要按照题目意思,每次计算一个数就放入set中,如果遇到1了,直接返回True,如果之前已经存在过set中了,那么直接返回False,否则加入set中

  3. 代码

    class Solution:
        def isHappy(self, n: int) -> bool:
            used = set()
            while True:
                if n == 1:
                    return True
                if n in used:
                    return False
                used.add(n)
                new_n = 0
                while n != 0:
                    tmp = n % 10
                    new_n += tmp * tmp
                    n //= 10
                n = new_n
            return False
    
posted @ 2025-01-09 15:58  ouyangxx  阅读(21)  评论(0)    收藏  举报