From 0ab039ab954fb125459b5dcc901995f64f59137b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=94=90=E6=A0=91=E6=A3=AE?= <14021051@buaa.edu.cn> Date: Thu, 13 Sep 2018 12:37:33 +0800 Subject: [PATCH] Create 202. Happy Number.md --- 202. Happy Number.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 202. Happy Number.md 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; + } +}; +```