258. Add Digits

题目分析

原题链接,登录 LeetCode 后可用
这道题的思路比较简单,下面提供了两种解法。

代码

解法一

思路比较简单,利用循环结构不停的运算即可。

class Solution {
    public int addDigits(int num) {
        int ans = num;
        while(ans >= 10) {
            num = ans;
            ans = 0;
            while(num != 0) {
                int digit = num % 10;
                ans += digit;
                num = num / 10;
            }
        }
        return ans;
    }
}

解法二

class Solution {
    public int addDigits(int num) {
        int ans = 0;
        if(num == 0) {
            return ans;
        }
        while(num != 0) {
            int digit = num % 10;
            ans = (ans * 10 + digit) % 9;
            num = num / 10;
        }
        return ans == 0 ? 9 : ans;
    }
}

你可能感兴趣的:(258. Add Digits)