LeetCode 258. Add Digits

xiaoxiao2021-02-27  189

题意

将一个数的所有位数加起来得到一个数,如果这个数是个位数就结束,否则继续加,直到是个位数。例如38->3+8=11->1+1=2,最终结果是2。 现在需要你不使用任何递归和循环来得到这个结果。

解题思路

我们可以发现一些规律

123456789123456789101112131415161718192021222324252627

以9为循环节。 所以我们只需要对9进行模除即可。 注意0%9=0,跟9%9=0所得到的结果不一样。

参考代码

//java public class Solution { public int addDigits(int num) { if (num == 0) return 0; int k = num % 9; if (k == 0) return 9; return k; } }
转载请注明原文地址: https://www.6miu.com/read-13165.html

最新回复(0)