diff --git a/202. Happy Number.md b/202. Happy Number.md new file mode 100644 index 0000000..e1ca4a4 --- /dev/null +++ b/202. Happy Number.md @@ -0,0 +1,28 @@ +# [202. Happy Number](https://leetcode.com/problems/happy-number/description/) +# 思路 +按照题目的意思进行循环,判断每次循环结果是否为1,若是则返回true,否则用map记录结果,然后修改n进行下一次循环。 +# 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) { + mapmp; + while(n){ + if(n == 1) return true; + if(mp[n] == 1) return false; + mp[n] = 1; + n = count_sum(n); + } + return false; + } +}; +```