我的LeetCode代码仓:https://github.com/617076674/LeetCode
原题链接:https://leetcode-cn.com/problems/add-digits/description/
题目描述:
知识点:数学
思路一:循环求解
时间复杂度和空间复杂度均与输入的数字有关。
JAVA代码:
public class Solution {
public int addDigits(int num) {
while (num >= 10) {
String numStr = String.valueOf(num);
num = 0;
for (int i = 0; i < numStr.length(); i++) {
num += numStr.charAt(i) - '0';
}
}
return num;
}
}
LeetCode解题报告:
思路二:Digital Root
时间复杂度和空间复杂度均是O(1)。
JAVA代码:
public class Solution {
public int addDigits(int num) {
if (0 == num) {
return 0;
}
int temp = num % 9;
if (temp == 0) {
return 9;
} else {
return temp;
}
}
}
LeetCode解题报告: