LintCode | 569. Add Digits

Given a non-negative integer num, repeatedly add all its digits until the result has only one digit.
樣例
Given num = 38.
The process is like: 3 + 8 = 11, 1 + 1 = 2. Since 2 has only one digit, return 2.


public class Solution {

    public int addDigits(int num) {
        //先將數字轉化爲字符串
        String numStr = Integer.toString(num);
        //當字符串長度爲1時,說明已化道一個數字
        while(numStr.length() > 1) {
            //用sum來保存每次累加後的新數字
            int sum = 0;
            for(int i = 0; i < numStr.length(); i++) {
                //利用API直接把每個字符代表的數字相加
                sum = sum + Character.getNumericValue(numStr.charAt(i));
            }
            numStr = Integer.toString(sum);
        }

        return Integer.parseInt(numStr);
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章