LeetCode 66. 加一

简介: LeetCode 66. 加一

LeetCode 66. 加一

给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。

最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。

你可以假设除了整数 0 之外,这个整数不会以零开头。

示例 1:

输入: [1,2,3]

输出: [1,2,4]

解释: 输入数组表示数字 123。

示例 2:

输入: [4,3,2,1]

输出: [4,3,2,2]

解释: 输入数组表示数字 4321。

解题代码

思路都在代码里:

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
 * @Auther: truedei
 * @Date: 2020 /20-5-20 08:45
 * @Description:
 */
public class Test1 {
    static public int[] plusOne(int[] digits) {
        int s=0,n=0;
        //倒序遍历,因为肯定是从最后一个加+1,最后一个是个位
        for (int i = digits.length-1; i >= 0 ; i--) {
            //说明要进1
            if((s=digits[i]+1)>9){
                n = s % 10;
                digits[i] = n;
            //否则到了最后一个了,就返回结果
            }else{
                digits[i] = s;
                break;
            }
        }
        //最后一次来判断0号位置,是否为0,如果为0,肯定需要进位,则扩展一个,并且新的0号位写入1即可;
        if(digits[0]==0){
            digits = new int[digits.length+1]; //扩展1个,因为如果数组现在进来了,数组肯定全部为0了,例如:000,则需要进位为:1 000
            digits[0] = 1; //0号位置写入1
        }
        return digits;
    }
    public static void main(String[] args) {
        int ints [] = new int[]{2,9};
        System.out.println(Arrays.toString(plusOne(ints)));
    }
}
目录
相关文章
|
7月前
|
SQL 数据采集 算法
LeetCode 题目 66:加一【python5种算法实现】
LeetCode 题目 66:加一【python5种算法实现】
leetcode:66. 加一
函数原型: int* plusOne(int* digits, int digitsSize, int* returnSize) 注:digits是输入的数组,digitsSize是输入数组的大小,returnSize是输出数组的大小
58 0
|
Java Python
leetcode:66.加一
如果数组中的元素都是9的话,那么原数组就需要扩容一位,否则直接在原基础上修改值即可。
53 0
|
存储 算法
Leetcode——66. 加一
Leetcode——66. 加一
|
存储 Java
力扣66.加一Java
力扣66.加一Java
89 0
|
存储 JavaScript
JS 刷 Leetcode:066. 加一
JS 刷 Leetcode:066. 加一
JS 刷 Leetcode:066. 加一
|
算法 Java
Leetcode 05 ——加一(Java)
Leetcode 05 ——加一(Java)
120 0
Leetcode 05 ——加一(Java)
|
存储 算法 Java
力扣LeetCode初级算法(加一,移动零)(二)
力扣LeetCode初级算法(加一,移动零)
119 0
力扣LeetCode初级算法(加一,移动零)(二)
|
存储 C++
LeetCode 64最小路径和&65有效数字&66加一
简单的动态规划,只能向右或者向下,所以可以使用动态规划动态的找到最小路径和,先对第一行和第一列特殊处理,然后顺序遍历数组的时候状态转移方程为:
178 0
LeetCode 64最小路径和&65有效数字&66加一