LN : leetcode 258 Add Digits

lc 258 Add Digits


lc 258 Add Digits

Given a non-negative integer num, repeatedly add all its digits until the result has only one digit.

For example:

Given num = 38, 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?

analysation##

digital root from baike

solution

int addDigits(int num) {
  if (num > 9 && num%9 == 0)
  return 9;
  if (num > 9)
  return num%9;
  return num;
}
原文地址:https://www.cnblogs.com/renleimlj/p/5407328.html