202. 快乐数
思路:1.将数字变成字符串,方便对每个位置的数进行平方加和。
2.对每个位置的数进行平方后加和。
3.由于可能无限循环,也就是说我们可以看看得到的sum值是否曾经出现过,如果曾经出现过说明进入了一个环,也就是无限循环,直接return false就可以。
class Solution {
public boolean isHappy(int n) {
int sum = n;
HashSet<Integer> set = new HashSet<>();
while (sum != 1){
String number = Integer.toString(sum);
sum = 0;
for (char a:number.toCharArray()) {
sum += Integer.parseInt(String.valueOf(a)) * Integer.parseInt(String.valueOf(a));
}
if(set.contains(sum))
return false;
set.add(sum);
}
return true;
}
}