66. Plus One

题目

Given a non-negative integer represented as a non-empty array of digits, plus one to the integer.

You may assume the integer do not contain any leading zero, except the number 0 itself.

The digits are stored such that the most significant digit is at the head of the list.

翻译

给定一个非负整数,表示为非空数组数,加一个整数。

您可以假设整数不包含任何前导零,除了数字0本身。

存储数字使得最高有效数字位于列表的头部。

解题思路

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

欢迎加入中科院开源软件自习室:631696396

欢迎加入中科院开源软件自习室

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐