最朴素的方法,也是可以AC 的方法是循环,但是不符合题目要求
int addDigits(int num) {
return (num-1)%9+1;
}
时间复杂度是O(1),我们应该最先想到找规律。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1 2 3 4 5 6 7 8 9 1 2 3 4 5 6
答案为1-9中的一个,且循环为9,没有0;
然后我们想到(num-1)%9+1
int addDigits(int num) {
return (num-1)%9+1;
}