classSolution { private: set<int> nums; public: intsplit_number(int n){ int sum = 0; while(n > 0){ int sig = n % 10; sum += (sig * sig); n = n / 10; } return sum; }
boolisHappy(int n){ int re = split_number(n); while(true){ if(nums.find(re) != nums.end()){ returnfalse; } nums.insert(re); re = split_number(re); if(re == 1){ break; } } returntrue; } };