题目:
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
. Since2
has only one digit, return it.
Follow up:
Could you do it without any loop/recursion in O(1) runtime?
代码:
class Solution {
public:
int addDigits(int num) {
if(num==0)return 0;
int c=num%9;
return c==0?9:c;
}
};
思路:
寻找数学规律