• 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     }
  • 相关阅读:
    volatile关键字,使一个变量在多个线程间可见。
    grep sed awk
    mysql高级聚合
    Hive高级聚合GROUPING SETS,ROLLUP以及CUBE
    用SecureCRT来上传和下载文件
    mysql导出导入数据
    redis入门
    spark 常用技巧总结2
    生成数据库字典
    spark 常用技巧总结
  • 原文地址:https://www.cnblogs.com/sherry900105/p/4929141.html
Copyright © 2020-2023  润新知