LeetCode #202. Happy Number

题目

202. Happy Number


解题方法

设置一个字典dic,当n不在字典中时,计算下一个数并加到字典中,如果下一个数算出来是1,就返回True,否则继续算新的n。如果找到一个n在字典中,就不做循环了直接返回False。
时间复杂度:O(logn)
空间复杂度:O(logn)


代码

class Solution:
    def isHappy(self, n: int) -> bool:
        dic = {}
        while n not in dic:
            dic[n] = 1
            temp = 0
            while n:
                temp += (n % 10) ** 2
                n //= 10
            n = temp
            if n == 1:
                return True
        return False
上一篇:Leetcode 202: Happy Number


下一篇:寒假作业3(抓老鼠啊~亏了还是赚了?)