【LeetCode】Plus One

Given a number represented as an array of digits, plus one to the number.

hint : 类似于字符串模拟加减法的思路:

 

class Solution {

public:

    vector<int> plusOne(vector<int> &digits) {

        // Note: The Solution object is instantiated only once and is reused by each test case.

        vector<int> res;

        if(digits.size() == 0)

            return res;

        int carry = 1;

        int sum ;

        for(int i = digits.size() - 1; i >=0; i--)

        {

            sum = carry + digits[i];

            carry = sum / 10;

            sum %= 10;

            res.push_back(sum);

        }

        if(carry == 1)

            res.push_back(1);

        reverse(res.begin(),res.end());

        return res;

    }

};


java什么的:

 

 

public class Solution {

    public int[] plusOne(int[] digits) {

        // Note: The Solution object is instantiated only once and is reused by each test case.

        int len = digits.length;

        for(int i = len-1; i >= 0; i--)

        {

            if(digits[i] != 9)

            {

                digits[i]++;

                return digits;

            }

            else digits[i] = 0;

        }

        

        int[] res = new int[len+1];

        res[0] = 1;

        return res;

            

    }

}


 

 

你可能感兴趣的:(LeetCode)