258. Add Digits

Add Digits - LeetCode

Given an integer num, repeatedly add all its digits until the result has only one digit, and return it.

Example 1: Input: num = 38 Output: 2 Explanation: The process is 38 –> 3 + 8 –> 11 11 –> 1 + 1 –> 2 Since 2 has only one digit, return it. Example 2: Input: num = 0 Output: 0

Constraints:

0 <= num <= 231 - 1

  • code
class Solution:
    def addDigits(self, num: int) -> int:
        res = str(num)
        while int(res) >= 10:
            nres = 0
            for v in str(res):
                nres += int(v)
            res = nres
        return res
  • code
class Solution:
    def addDigits(self, num: int) -> int:
        res = 0
        while num > 0:
            res += num % 10
            num //= 10
            if num == 0 and res > 9:
                num, res = res, 0
        return res
  • code
class Solution:
    def addDigits(self, num: int) -> int:
        if num == 0:
            return 0
        if num % 9 == 0:
            return 9
        return num % 9