思路
快慢指针解决无限循环的问题
代码实现
class Solution { public boolean isHappy(int n) { int fast=n; int slow=n; do{ slow=f(slow); fast=f(fast); fast=f(fast); if(slow==1||fast==1) return true; }while(fast!=slow); return slow==1; } public int f(int n) { int sum=0; while(n!=0) { int temp=n%10; sum+=temp*temp; n=n/10; } return sum; } }