如何获得此代码的渐近复杂性?

我试图获得这种复杂度O(n)。 重复之前的所有步骤等于TO(1)+重复T(n)= O(n)。

lis = []
class Solution:

    def isHappy(self, n: int) -> bool:
        numbers_list = [int(num)**2 for num in str(n)]
        numbers_sum = sum(numbers_list)
        if numbers_sum == 1:
            lis.clear()
            return True
        if numbers_sum  in lis:
            lis.clear()
            return False
        lis.append(numbers_sum)
        return self.isHappy(numbers_sum)