Difficulty: Easy
Tags: Math
问题描述
给定一个非负整数num,不断将其各位数字求和直到结果只有一位数字。
解决方案
两重循环,在外重循环判断num是否只有一位数字,在内重循环做num的各位数字求和。
▷ Time Complexity: O(lgn)
▷ Space Complexity: O(1)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| class Solution { public: int addDigits(int num) { while(1) { if(num/10 == 0) return num; int t = 0; while(1) { t += num%10; num /= 10; if(num/10 == 0) { t += num; num = t; break; } } } } };
|
回到 Conquer Leetcode