1. 程式人生 > >初級算法-7. 加一

初級算法-7. 加一

題目 一個數 ont 不為 turn strong 開始 dig span

題目描述:

給定一個由整數組成的非空數組所表示的非負整數,在該數的基礎上加一。

最高位數字存放在數組的首位, 數組中每個元素只存儲一個數字。

你可以假設除了整數 0 之外,這個整數不會以零開頭

示例 1:
輸入: [1,2,3]
輸出: [1,2,4]
解釋: 輸入數組表示數字 123

 示例 2:

輸入: [9,9,9,9]
輸出: [1,0,0,0,0]
解釋: 輸入數組表示數字 9999。

分析: 1.從最低位(數組的最後一個元素)開始,如果此位不為9就使之+1,並返回原數組

    2.若此位為9,本位置0,向前遍歷執行第一步

    最後若最高位為0,即表示數組全為9,則返回[1,0,0,...,0]

class Solution {
    public int[] plusOne(int[] digits) {
        
        for(int i=digits.length-1;i>=0;i--){
            if(digits[i]==9)
                digits[i]=0;
            else{
                digits[i]++;
                return digits;
            }
                
        }
        
if(digits[0]==0) { int[] t=new int[digits.length+1]; t[0]=1; return t; } return digits; } }

初級算法-7. 加一