leetcode 202 - 快乐数

什么是快乐,不管经历多少曲折最终都能到达终点就是快乐。

    int transform(int n) {
        int sum = 0;
        while(n){
            sum += pow(n%10, 2);
            n /= 10;
        }
        return sum;
    }
    
    bool isHappy(int n) {  // 和“循环”有关的问题可以考虑一下“快慢指针”
        int quick, slow;
        quick = slow = n;
        while(1){
            quick = transform(transform(quick));
            slow = transform(slow);
            if (quick == 1) return true;
            if (slow == quick) return false;
        }
    }    

猜你喜欢

转载自www.cnblogs.com/dylanchu/p/11489120.html