258. 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,反复将各个位上的数字相加,直到结果为一位数。
解题思路 #
- 给定一个非负整数,反复加各个位上的数,直到结果为一位数为止,最后输出这一位数。
- 简单题。按照题意循环累加即可。
代码 #
package leetcode
func addDigits(num int) int {
for num > 9 {
cur := 0
for num != 0 {
cur += num % 10
num /= 10
}
num = cur
}
return num
}