题目
LeetCode - 202. Happy Number
题目链接
https://leetcode.com/problems/happy-number/
参考博客
解题思路
解题源码
class Solution {
public:
vector<int> numsplit(int n){
vector<int> v;
if (!n) v.push_back(0);
while (n){
v.push_back(n%10);
n /= 10;
}
return v;
}
bool isHappy(int n) {
int tmp = n;
int sum = 0;
unordered_set<int> s;
s.insert(n);
while(1){
sum = 0;
vector<int> v = numsplit(n);
for (auto it : v) sum += it*it;
if (sum == 1) return true;
if (s.count(sum)) break;
s.insert(sum);
n = sum;
}
return false;
}
};