解决之路= =
爷爷出了点意外,去医院陪护了两天,今天继续更新。
题目描述
测试案例(部分)
第一次
按题目意思,应该是计算输入数字每位平方的和,并返回。然后进行循环
class Solution(object):
def isHappy(self, n):
def once(n1):
num = 0
while n1:
num += (n1 % 10) * (n1 % 10)
n1 = int(n1 / 10)
return num
while True:
num_list = []
num_list.append(n)
n = once(n)
if n == 1:
return True
if n in num_list:
return False
测试结果不符,遇到不快乐数,就会陷入死循环。遇到快乐数倒是可以正常运行。
第二次
看了看代码,有点不太对,申明res_list放在了while循环内,所以每轮都会被清空,改一下就好了。
class Solution(object):
def isHappy(self, n):
def once(n1):
num = 0
while n1:
num += (n1 % 10) * (n1 % 10)
n1 = int(n1 / 10)
return num
num_list = []
while True:
if n in num_list:
return False
num_list.append(n)
n = once(n)
if n == 1:
return True
测试正确,提交通过。