class Solution {
public boolean isHappy(int n) {
HashSet<Integer> set = new HashSet<Integer>();
//如果set里面包含n,则会陷入死循环,不会等于1
while(n != 1 && !set.contains(n)) {
set.add(n);
n = getNextNumber(n);
}
return n == 1;
}
//获取每个位置上的数字平方和,
public int getNextNumber(int n) {
int result = 0;
while(n > 0) {
int temp = n % 10;
result += temp * temp;
n = n /10;
}
return result;
}
}