# Solving Leetcode Interviews in Seconds with AI: Add Digits


	# Introduction
	In this blog post, we will explore how to solve the LeetCode problem "258" using AI. LeetCode is a popular platform for preparing for coding interviews, and with the help of AI tools like [Chatmagic](https://www.chatmagic.app), we can generate solutions quickly and efficiently - helping you pass the interviews and get the job offer without having to study for months.

	# Problem Statement
	> 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    Follow up: Could you do it without any loop/recursion in O(1) runtime? 

	# Explanation
	Here's the approach to solve this problem efficiently:

*   **Digital Root Concept:** The problem is essentially asking for the digital root of a number. The digital root is the single-digit value obtained by repeatedly adding the digits of a number until a single-digit result is achieved.
*   **Congruence Formula:**  A key mathematical insight is that the digital root of a number *n* is equivalent to *n* mod 9.  If the result is 0, it means the number is divisible by 9, and the digital root is 9 (except when the number itself is 0).
*   **Direct Calculation:** This allows us to calculate the digital root directly using modular arithmetic, avoiding loops or recursion.

*   **Runtime Complexity:** O(1), **Storage Complexity:** O(1)

	
	# Code
	```python
	class Solution:
    def addDigits(self, num: int) -> int:
        if num == 0:
            return 0
        elif num % 9 == 0:
            return 9
        else:
            return num % 9
	```
			
