链接:202. 快乐数 - 力扣(LeetCode)
一,题目解析

图形结合:

二,算法原理

快慢双指针
1,定义快慢指针
2,慢指针每次移动一步,快指针一次移动两步
3,判断相遇时的值为1即为快乐数
三,编写代码
class Solution {public int bitSum(int n){//返回n这个数每一位上的平方和int sum=0;while(n != 0){int t = n % 10;sum += t * t;n /= 10;}return sum;}public boolean isHappy(int n) {int slow = n,fast = bitSum(n);//slow和fast不相等while(slow != fast){slow = bitSum(slow);fast = bitSum(bitSum(fast));}return slow == 1;//slow或者fast等于1就结束}
}