202. 快乐数 - 力扣(LeetCode)
由图可知,其实这也是一个判断循环的过程,要用到快慢指针,且相遇后,若在全为1的循环里,那么就是快乐数,若相遇后不为1,说明这不是快乐数。
int Sum(int n){int sum=0;while(n){int t=n%10;sum+=t*t;n/=10;}return sum;}
bool isHappy(int n) {int slow=n,fast=Sum(n);while(slow!=fast){slow=Sum(slow);fast=Sum(Sum(fast));}return slow==1;
}
快满指针的变式