class Solution {
public:bool isHappy(int n) {unordered_map<int,bool> m;while(n!&#61;1){m[n]&#61;true;int sum&#61;0,a;while(n){a&#61;n%10;sum&#43;&#61;a*a;n/&#61;10;}n&#61;sum;if(m[n]) return false;}return true;}
};
使用hash set
/**
使用一个hash set 或者hashmap来记录已经出现的数字&#xff0c;如果出现的数是出现过的&#xff08;有循环&#xff09;return false;如果最终返回1&#xff0c;break; return true;
**/class Solution {
public:bool isHappy(int n) {unordered_set<int> s;while(n!&#61;1){s.insert(n);int tmp&#61;0;while(n!&#61;0){int k&#61;n%10;tmp&#43;&#61;k*k;n&#61;n/10;}n&#61;tmp;if(s.count(n)) return false;}return true;}
};/**
使用一个hash set 或者hashmap来记录已经出现的数字&#xff0c;如果出现的数是出现过的&#xff08;有循环&#xff09;return false;如果最终返回1&#xff0c;break; return true;
**/class Solution {
public:bool isHappy(int n) {unordered_set<int> s;while(n!&#61;1){s.insert(n);int tmp&#61;0;while(n!&#61;0){int k&#61;n%10;tmp&#43;&#61;k*k;n&#61;n/10;}n&#61;tmp;if(s.count(n)) return false;}return true;}
};