Files
2020-08-12 20:12:33 +08:00

47 lines
892 B
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# [258. Add Digits](https://leetcode.com/problems/add-digits/)
## 题目
Given a non-negative integer `num`, repeatedly add all its digits until the result has only one digit.
**Example**:
```
Input: 38
Output: 2
Explanation: The process is like: 3 + 8 = 11, 1 + 1 = 2.
Since 2 has only one digit, return it.
```
**Follow up**: Could you do it without any loop/recursion in O(1) runtime?
## 题目大意
给定一个非负整数 num反复将各个位上的数字相加直到结果为一位数。
## 解题思路
- 给定一个非负整数,反复加各个位上的数,直到结果为一位数为止,最后输出这一位数。
- 简单题。按照题意循环累加即可。
## 代码
```go
package leetcode
func addDigits(num int) int {
for num > 9 {
cur := 0
for num != 0 {
cur += num % 10
num /= 10
}
num = cur
}
return num
}
```