1. 程式人生 > >LeetCode--66. Plus One

LeetCode--66. Plus One

題目連結:https://leetcode.com/problems/plus-one/

該問題有點類似於連結串列的加一:2. Add Two Numbers和二進位制表達的字串加1的問題:67. Add Binary,比較簡單,就是設定一個邏輯型變數的進位標誌,程式碼如下:

class Solution {
    public int[] plusOne(int[] digits) {
        
        digits[digits.length-1]+=1;
        
        boolean flag=false;
        for(int i=digits.length-1;i>=0;i--)
        {
            if(flag)
                digits[i]+=1;
            if(digits[i]>=10)
            {
                digits[i]-=10;
                flag=true;
                continue;
            }
            flag=false;
        }
        if(!flag)
            return digits;
        else
        {
            int[] tmp=new int[digits.length+1];
            tmp[0]=1;
            for(int i=1;i<tmp.length;i++)
                tmp[i]=digits[i-1];
            return tmp;
        }
    }
}