2024/07/18

LeetCode 258. Add Digits

/**
 * 將數字各位數字相加,直到結果為一個個位數
 * @param {number} num - 輸入的整數
 * @return {number} - 相加結果的個位數
 */
var addDigits = function (num) {
    // 檢查輸入數字是否在有效範圍內
    if (num < 0 || num > Math.pow(2, 31) - 1) {
        return 0;
    }

    // 重複相加數字的每一位,直到結果為個位數
    while (num >= 10) {
        // 將數字轉換為字符串
        const str = num.toString();
        // 將字符串分割為字符數組
        const array = str.split('');
        // 初始化相加結果
        let result = 0;
        // 遍歷字符數組,將每個字符轉換為數字並相加
        array.forEach(i => result += parseInt(i));
        // 更新 num 為相加結果
        num = result;
    }

    // 返回最終結果,即個位數
    return num;
};