您的位置:首页 > 其它

[LeetCode] Add Digits

2015-09-12 23:34 357 查看
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.

分析一:最简单的循环方法

class Solution {
public:
int addDigits(int num) {
while (num / 10 != 0) {
int temp = 0;
while (num != 0) {
temp += num % 10;
num /= 10;
}
num = temp;
}

return num;
}
};


分析二:参考https://leetcode.com/discuss/52122/accepted-time-space-line-solution-with-detail-explanations

class Solution {
public:
int addDigits(int num) {
return 1 + (num - 1) % 9;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: