快乐数
题解:显然这里需要一个函数来计算求出来的数符不符合要求,这道题的思路没错,但不能正确的编写出代码(建议二刷)
代码如下: class Solution { public boolean isHappy(int n) { Set<Integer> record = new HashSet<>(); while (n != 1 && !record.contains(n)) { record.add(n); n = getNextNumber(n); } return n == 1; } private int getNextNumber(int n) { int res = 0; while (n > 0) { int temp = n % 10; res += temp * temp; n = n / 10; } return res; } }