当前位置:   article > 正文

算法系列——加1(Plus One)_plus one 算法

plus one 算法

题目描述

题目链接:https://leetcode-cn.com/problems/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.

解题思路

这道题目要求实现加1的程序,比较简单。我们模拟这个过程即可。
从最后一位开始遍历数字,分为9和非9两种情况,如果为9,当前为时0,继续遍历过程,否则当前位加1后直接返回。

程序实现

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

        return newNumber;
    }
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/63449
推荐阅读
相关标签
  

闽ICP备14008679号