啥是快乐数字,无限拆分,直到平方和可以等于1,就是快乐数字。
恍惚间我领悟了快乐的真谛:不断磨练自己,直到剩下内心最坚固的纯真,即为快乐。
哇,刷(明)题(天)真(放)好(假)!我好快乐!
思路:分两步
第一步:写个方法,获取下一个拆分后求完平方和的n值
第二步:防止重复,陷入环路返回false
class Solution {
public boolean isHappy(int n) {
Set<Integer> set=new HashSet<>();
while(n!=1&&!set.contains(n)){
set.add(n);
n=getNext(n);
}
return n==1;
}
public int getNext(int n){
int sum=0;
while(n>0){
int d= n%10;
n/=10;
sum+=d*d;
}
return sum;
}
}