分享至
66.Plus One
題目描述
給你一個由整數組成的陣列 digits,其中每個元素都是 0–9,表示一個非負整數的每一位數(高位在前)。
將這個數字加 1,並以同樣的形式返回陣列結果。
不能將整數直接轉成數字操作(因為數字可能很大)。
解題思路
從陣列 末尾開始模擬加法:
先對最後一位加 1
記錄進位 carry
如果加法後 < 10 → 不用進位,直接返回
如果等於 10 → 進位,當前位變 0
重複以上過程直到最高位
若最高位也有進位 → 在陣列前面插入 1
IT邦幫忙