leetcode每日打卡系列题解

2022-05-18 21:35:12 浏览数 (1)

俗话说 每次到月底的打卡题都是白送。4月也不例外。

老规矩,先看今天每日打卡题,

居然是一道简单题

那么让我们进去看题

这个题很简单,最简单的思路就是把原来的数变成字符串拆开,然后在算成平方,然后再加起来。如果最终变成1则可返回true,如果不是1,那就告诉你说就是个无限循环,所以你每次都要看一下,这个数是不是在之前的历史记录中出现过,若是,则证明进入了无限循环,就直接返回false

解法如下:

代码语言:javascript复制
class Solution(object):
    def isHappy(self, n):
        """
        :type n: int
        :rtype: bool
        """
        panduan = []
        end = n
        while end not in panduan:
            panduan.append(end)
            n = list(str(n))
            end = 0
            for i in xrange(len(n)):
                end  = int(n[i])**2
            n = end
            if end == 1:
                return True
        return False

每日一题,保持大脑灵活度!

0 人点赞