题意
将一个数的所有位数加起来得到一个数,如果这个数是个位数就结束,否则继续加,直到是个位数。例如38->3+8=11->1+1=2,最终结果是2。 现在需要你不使用任何递归和循环来得到这个结果。
解题思路
我们可以发现一些规律
123456789
123456789101112131415161718192021222324252627
以9为循环节。 所以我们只需要对9进行模除即可。 注意0%9=0,跟9%9=0所得到的结果不一样。
参考代码
public class Solution {
public int addDigits(
int num) {
if (num ==
0)
return 0;
int k = num %
9;
if (k ==
0)
return 9;
return k;
}
}