202.快乐数
    拆分数字进行平方和
    哈希表判断是否进入循环(也可用快慢指针,参考环形链表)
    编写一个算法来判断一个数 n 是不是快乐数。
    「快乐数」 定义为:

    • 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。
    • 然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。
    • 如果这个过程 结果为 1,那么这个数就是快乐数。

    如果 n 是 快乐数 就返回 true ;不是,则返回 false 。

    1. 示例 1
    2. 输入:n = 19
    3. 输出:true
    4. 解释:
    5. 12 + 92 = 82
    6. 82 + 22 = 68
    7. 62 + 82 = 100
    8. 12 + 02 + 02 = 1
    1. class Solution {
    2. public:
    3. int getsum(int n)
    4. {
    5. int sum = 0;
    6. while(n)
    7. {
    8. sum += (n%10)*(n%10);
    9. n/=10;
    10. }
    11. return sum;
    12. }
    13. bool isHappy(int n) {
    14. unordered_set<int> set;
    15. while(1)
    16. {
    17. if(n==1)
    18. return true;
    19. if(set.find(n)==set.end())
    20. set.insert(n);
    21. else
    22. return false;
    23. n = getsum(n);
    24. }
    25. }
    26. };