LeetCode Top Interview 150

202. Happy Number

Easy

Write an algorithm to determine if a number n is happy.

A happy number is a number defined by the following process:

Return true if n is a happy number, and false if not.

Example 1:

Input: n = 19

Output: true

Explanation:

12 + 92 = 82

82 + 22 = 68

62 + 82 = 100

12 + 02 + 02 = 1

Example 2:

Input: n = 2

Output: false

Constraints:

Solution

class Solution:
    def isHappy(self, n: int) -> bool:
        a = n
        rem = 0
        sum_val = 0        
        if a == 1 or a == 7:
            return True
        elif 1 < a < 10:
            return False
        else:
            while a != 0:
                rem = a % 10
                sum_val += rem * rem
                a //= 10
            if sum_val != 1:
                return self.isHappy(sum_val)
            else:
                return True