`
frank-liu
  • 浏览: 1682247 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

leetcode: 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.

原问题链接:https://leetcode.com/problems/plus-one/

 

问题分析

 这个问题比较简单,从原来的描述里可以看到,它的最高位保存在数组的最开头。所以如果要对这个数字加1的话,需要从末尾开始向前累加。需要注意的问题是可能会导致进位。所以一种办法是先声明一个列表,每次将数字相加的元素放到这里,一直加到最后。然后再将这个列表反转过来再返回结果就可以了。

  详细实现如下:

 

public class Solution {
    public int[] plusOne(int[] digits) {
        List<Integer> list = new ArrayList<>();
        int carry = 1;
        for(int i = digits.length - 1; i >= 0; i--) {
            int tmp = digits[i] + carry;
            carry = tmp / 10;
            list.add(tmp % 10);
        }
        if(carry != 0) list.add(carry);
        Collections.reverse(list);
        int[] result = new int[list.size()];
        for(int i = 0; i < list.size(); i++) result[i] = list.get(i);
        return result;
    }
}

 

1
1
分享到:
评论

相关推荐

    戳气球leetcode-leetcode:leetcode

    leetcode category other hot keywords:Palindrome(mic), Subsequence Array 螺旋矩阵Spiral Matrix 顺时针打印矩阵 Next Permutation Product of Array Except Self 189.rotate-array 283.move-zero Range Sum ...

    lrucacheleetcode-leetcode:leetcode

    lru缓存leetcode 力码 LeetCode 问题的解决方案。 个人资料在这里:。 简单的 ...plus_one.py: remove_element.py: reverse_vowels.py: 千位分隔符.py: transpose_matrix.py: trim_bst.py: two

    leetcode答案-LeetCode:Swift中的LeetCode

    leetcode 答案LeetCode LeetCode in Swift 这个Repo 用来存下我在LeetCode 解题的原始档,包含解题中遇到的错误,也包含解出AC ...Plus One Easy #70 Climbing Stairs Easy #83 Remove Duplicates from Sorted L

    leetcode切割分组-leetcode:leetcode

    066_plus_one.py # 数列末尾值+1 069_sqrt.py # 实现开根号 136_single_number.py # 位操作:异或(xor)操作 x ^ 0 = x; x ^ x = 0 sum 001_two_sum.py # 求list中能加和成指定值的两个位置 015_3_sum**.py # 求list...

    判断链表是否为回文链表leetcode-LeetCode:LeetCode刷题

    6.PlusOne 加一:给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。 7.RemoveDuplicates 从排序数组中删除重复项:给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素

    java-leetcode题解之Plus One.java

    java java_leetcode题解之Plus One.java

    leetcodepython001-LeetCode:力码

    Plus One String 043 Multiply Strings 066 Add Binary Linked-list 002 Add Two Numbers Stack 020 Valid Parenthesis Hash Table 001 TwoSum Reference 完整的学习流程 How to be a softwair engineer: 其他人详解...

    LeetCode:刷 LeetCode

    删除数组中指定元素返回新数组的长度 主字符串中找子字符串的索引 找目标数插入的索引 统计出现的数字和写出来 求数组中子数组的最大和LastWordLength计算最后一个单词的长度PlusOne数组加一mediumAddTwoNumbers 以...

    leetcode2-LeetCode:每天(希望)练习

    plus one is two. // Implementation: class Solution { public int onePlusOne() { return 2; } } // Afterthoughts: // Maybe I could return (1 + 1) instead of 2 // Results: // Runtime: 1337 ms, faster than...

    扩展矩阵leetcode-Leetcode:LeetcodeAnswer-Java

    plusOne 73.矩阵置零 setZeroes 84.柱状图中最大的矩形 largestRectangleArea 152.乘积最大子序列 maxProduct 162.寻找峰值 findPeakElement 动态规划 5.最长回文子串 longestPalindrome(中心扩展法实现) 62.不同...

    leetcode添加元素使和等于-Leetcode:力码

    plusOne easy 描述:用一组数据表示一个整数,实现整数加一的操作 主要思路:主要考虑最高位进位的情况,可以创建一个长度加一的数组,原数组进行加一操作的时候,同时也将每位的结果复制到新数组中,最后判断最高位...

    lrucacheleetcode-leetcode:记录自己的leetcode解题历程~Welcomeeveryonetocomment:grinning_face:~

    Plus One 238. Product of Array Except Self 697. Degree of an Array 849. Maximize Distance to Closest Person ——————————————————————————————————————————————...

    java-leetcode题解之066-Plus-One

    java入门 java_leetcode题解之066_Plus_One

    js-leetcode题解之66-plus-one.js

    javascript js_leetcode题解之66-plus-one.js

    LeetCode最全代码

    # [LeetCode](https://leetcode.com/problemset/algorithms/) ![Language](https://img.shields.io/badge/language-Python%20%2F%20C++%2011-orange.svg) [![License]...

    Leetcode book刷题必备

    18. Plus One:给定一个由非负整数组成的非空数组,将数组中的每个元素加一。 19. Palindrome Number:判断一个整数是否是回文数。 【链表】 20. Merge Two Sorted Lists:合并两个有序链表。 21. Add Two Numbers...

    Leetcode题目+解析+思路+答案.pdf

    - **Plus One**:给定一个整数数组,将其加一。 - **Pascal's Triangle**:生成帕斯卡三角形的某一行。 - **Merge Sorted Array**:合并两个已排序的数组,使合并后的数组仍然有序。 - **Sum**:计算数组的总和...

    leetcode2sumc-Leetcode_questions:Leetcode_questions

    66.Plus One (c++) 67.添加二进制(C++) 69.Sqrt(x) (c++:二元除法) 70.Climbing Stairs(c++:Dynamic Programming) 83.从排序列表中删除重复项(c++) 88.Merge Sorted Array(c++) 00 94.Binary Tree Inorder ...

    _leetcode-python.pdf

    - Plus One: 给定一个由整数组成的非空数组,表示一个非负整数,将这个整数加一。 - Add Binary: 给定两个二进制字符串,返回它们的和。 - Text Justification: 给定一个单词数组和一个长度 maxWidth,设计一个方法...

Global site tag (gtag.js) - Google Analytics