chapter-four/0200~0299/0258.Add-Digits

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 }