[LeetCode] NO. 66 Plus One

[题目]

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

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

[题目解析] 用一个数组表示一个非负数,然后进行加1的操作,数组第一位是最高位。题目比较简单,我们考虑只有某一位为9并且有进位的情况下,该位会变成0,然后进位,否则就直接该位进行+1操作即可。

当所有位都是9的特殊情况下,要特别处理一下,具体代码如下。

  public int[] plusOne(int[] digits) {
        int flag = 1;
        int len = digits.length;
        int []ret = new int[len+1];
        for(int i = len-1; i >= 0; i--){
            if(digits[i] == 9){
                digits[i] = 0;
            }else{
                digits[i]++;
                return digits;
            }
        }
        ret[0] = 1;
        return ret;
  }

  

时间: 2024-11-06 11:34:27

[LeetCode] NO. 66 Plus One的相关文章

LeetCode 第66题,加一

题目概述 题目:力扣:66.加一 难易:简单 内容: 给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一. 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字. 你可以假设除了整数 0 之外,这个整数不会以零开头. 示例 1: 输入: [1,2,3] 输出: [1,2,4] 解释: 输入数组表示数字 123. 示例 2: 输入: [4,3,2,1] 输出: [4,3,2,2] 解释: 输入数组表示数字 4321. 来源:力扣(LeetCode) 链接:https://lee

leetcode第66题 (array)

题目: Given a non-negative number represented as an array of digits, plus one to the number. The digits are stored such that the most significant digit is at the head of the list. 即用数组代表一个数,给这个数加1后,继续用数组表示. 比较简单,注意进位就可以了,尤其是要注意最高项的进位,容易忽视. 1 vector<int

【LeetCode】66 - Plus One

Given a non-negative number represented as an array of digits, plus one to the number. The digits are stored such that the most significant digit is at the head of the list. Solution 1 : 十进制加法 1 class Solution { 2 public: 3 vector<int> plusOne(vecto

LeetCode【66】Plus One

Given a non-negative number represented as an array of digits, plus one to the number. The digits are stored such that the most significant digit is at the head of the list. 题目比较简单,直接上代码: vector<int> plusOne(vector<int>& digits) { int cfla

笔试题79. LeetCode OJ (66)

 Plus One 首先解释一下这个题的意思:一个非负数的内容从高位到低位(十进制位)依次放到数组的每一位,例如:123,存放到数组中就是[1,2,3],现在将这个数加 1 ,返回加1后的结果,如[1,2,3]应该返回[1,2,4]. 弄清楚了题意以后解题就变得简单了,这个题的思路是从最低位开始,将它加1,若产生进位就依次往高位处理进位,直到没有进位为止. 有一点需要注意:若是[9],[9,9] ... 等形式的时候,它会产生使数组的规模增长,需要额外增加一个空间来处理,这一点才是最需要注意的,

LeetCode(66)Plus One

题目 Given a non-negative number represented as an array of digits, plus one to the number. The digits are stored such that the most significant digit is at the head of the list. 分析 该题目要求:将一整数按位存储在vector中,对其实现+1操作,返回结果. 是一道简单题目,对存储序列vector中元素,倒序遍历,末位+1

LeetCode第[66]题(Java):Plus One

题目:数组加一 难度:Easy 题目内容: Given a non-empty array of digits representing a non-negative integer, plus one to the integer. The digits are stored such that the most significant digit is at the head of the list, and each element in the array contain a singl

LeetCode(66): 加一

Easy! 题目描述: 给定一个非负整数组成的非空数组,在该数的基础上加一,返回一个新的数组. 最高位数字存放在数组的首位, 数组中每个元素只存储一个数字. 你可以假设除了整数 0 之外,这个整数不会以零开头. 示例 1: 输入: [1,2,3] 输出: [1,2,4] 解释: 输入数组表示数字 123. 示例 2: 输入: [4,3,2,1] 输出: [4,3,2,2] 解释: 输入数组表示数字 4321. 解题思路: 将一个数字的每个位上的数字分别存到一个一维向量中,最高位在最开头,我们需要

LeetCode 66. 加1

题目: 给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一. 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字. 你可以假设除了整数 0 之外,这个整数不会以零开头. 示例 1: 输入: [1,2,3] 输出: [1,2,4] 解释: 输入数组表示数字 123. 示例2: 输入: [4,3,2,1] 输出: [4,3,2,2] 解释: 输入数组表示数字 4321. 思路与解答: 题解一: 这道题最直观的方法就是首先判断末位是否为9,不为9,直接加1返回,具体为: 从末位开