iT邦幫忙

2025 iThome 鐵人賽

DAY 12
0

事態緊急,今天下班好累,我就不多說了
今天題目大意:把一個表示非負整數的陣列 digits 加 1,並把每一行程式碼用超新手友善的方式拆解。\

class Solution {
    public int[] plusOne(int[] digits) {
        // 從最右邊(個位)開始處理進位
        for (int i = digits.length - 1; i >= 0; i--) {
            if (digits[i] < 9) {
                // 如果當前位小於 9,直接加 1 並回傳結果(沒有更多進位)
                digits[i]++;
                return digits;
            }
            // 當前位是 9,加一後變成 0,進位傳到左邊繼續處理
            digits[i] = 0;
        }

        // 如果跑完迴圈還沒回傳,代表所有位都是 9(例如 [9,9,9])
        // 需要一個更長的陣列,最高位為 1,其他位預設為 0 -> [1,0,0,0]
        int[] res = new int[digits.length + 1];
        res[0] = 1;
        return res;
    }
}

上一篇
終於11天了-70. Climbing Stairs
系列文
Chatting with ChatGPT——一天學習一題Leetcode12
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言