258.Add Digits
Description:
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?
Credits:
Special thanks to @jianchao.li.fighter for adding this problem and creating all test cases.
分析:
本题的意思是说,给出一个非负整数,将该整数的各个位数相加;重复进行,直至的得到的整数是个位数。
My C++ code:
class Solution {
public:
int addDigits(int num) {
int i = 1 + (num - 1) % 9;
return i ;
}
};