mirror of
https://github.com/ShusenTang/LeetCode.git
synced 2024-09-02 14:20:01 +00:00
29 lines
748 B
Markdown
29 lines
748 B
Markdown
# [202. Happy Number](https://leetcode.com/problems/happy-number/description/)
|
||
# 思路
|
||
按照题目的意思进行循环,判断每次循环结果是否为1,若是则返回true,否则用map记录结果,然后修改n进行下一次循环。
|
||
# C++
|
||
``` C++
|
||
class Solution {
|
||
private:
|
||
int count_sum(int n){ // 定义题目中所述的求和函数
|
||
int sum = 0;
|
||
while(n > 0){
|
||
sum += (n % 10) * (n % 10);
|
||
n /= 10;
|
||
}
|
||
return sum;
|
||
}
|
||
public:
|
||
bool isHappy(int n) {
|
||
map<int, int>mp;
|
||
while(n){
|
||
if(n == 1) return true;
|
||
if(mp[n] == 1) return false;
|
||
mp[n] = 1;
|
||
n = count_sum(n);
|
||
}
|
||
return false;
|
||
}
|
||
};
|
||
```
|