题目

图片.png

题解

图片.png
图片.png

对于第三中情况
图片.png

  1. class Solution {
  2. public:
  3. bool isHappy(int n) {
  4. unordered_set<int> seen;
  5. while (n != 1 && (seen.find(n)==seen.end())) {
  6. seen.insert(n);
  7. n = getNext(n);
  8. }
  9. return n == 1;
  10. }
  11. int getNext(int n) {
  12. int totalSum = 0;
  13. int d;
  14. while (n > 0) {
  15. d = n % 10;
  16. n = n / 10;
  17. totalSum += d * d;
  18. }
  19. return totalSum;
  20. }
  21. };