258 - Add Digits
258 - Add Digits
·
Problem
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?
Code
class Solution {
public:
int addDigits(int num) {
int m = num;
while (m >= 10) {
int t = 0;
while (m >= 10) {
t += m % 10;
m /= 10;
}
m += t;
}
return m;
}
};
Link: https://leetcode.com/problems/add-digits/
更多推荐
已为社区贡献1条内容
所有评论(0)