zoukankan      html  css  js  c++  java
  • Leetcode 66: Plus One

    Question:

    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.

    Subscribe to see which companies asked this question

    博主工作了5个月,最近才又跑回来继续刷题,希望接下来能找到一份心仪的工作~

    题目解析:

    简单的一道对Array进行操作的题。重点是如何维护最后一位的进位问题。例如,给出的array是[9, 9, 9]的话,返回的结果是[1, 0, 0, 0]。

    利用了一个flag来维护进位,等for循环结束的时候如果flag为1,那么最后一位需要被维护,也就新建一个数组,长度为原数组+1,把所有的值都存进去就行了。

     1 public int[] plusOne(int[] digits) {
     2         int flag = 1;
     3         for(int i = digits.length - 1; i >= 0; i--){
     4             digits[i] += flag;
     5             if(digits[i] == 10){
     6                 digits[i] = 0;
     7                 flag = 1;
     8             }
     9             else if(digits[i] < 10){
    10                 flag = 0;
    11             }
    12         }
    13         
    14         if(flag == 1){
    15             int[] newdigits = new int[digits.length + 1];
    16             newdigits[0] = 1;
    17             for(int i = 0; i < digits.length; i++){
    18                 newdigits[i + 1] = digits[i];
    19             }
    20             return newdigits;
    21             
    22         }else{
    23             return digits;
    24         }
    25         
    26     }
  • 相关阅读:
    金融新手投标模块布局小Demo
    jQuery序列化Ajax提交表单
    javascript实现jsonp跨域问题+原理
    javascript返回顶部插件+源码
    mime中间件
    移动端meta标签的设置
    Node环境下实现less编译
    diogo谈框,仿prompt()方法布局
    linux驱动程序框架基础
    C/C++下Netbeans的配置
  • 原文地址:https://www.cnblogs.com/sherry900105/p/4929141.html
Copyright © 2011-2022 走看看