zoukankan      html  css  js  c++  java
  • Plus One

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

     1 public class Solution {
     2     public int[] plusOne(int[] digits) {
     3         // Start typing your Java solution below
     4         // DO NOT write main() function
     5         int carry = 0;
     6         boolean sig = false;
     7         int[] result = null;
     8         if(digits == null) return null;
     9         for(int i = 0;i < digits.length; i ++){
    10             if(digits[i] != 9) sig = true;
    11         }
    12         if(sig == false){
    13             result = new int[digits.length + 1];
    14             result[0] = 1;
    15             return result;
    16         }else{
    17             result = new int[digits.length];
    18             result[digits.length - 1] = digits[digits.length - 1] + 1;
    19             if(result[digits.length - 1] > 9){
    20                 result[digits.length - 1] -= 10;
    21                 carry = 1;
    22             }
    23             for(int i = digits.length - 2; i > -1; i --){
    24                 result[i] = digits[i] + carry;
    25                 if(result[i] > 9){
    26                     result[i] -= 10;
    27                     carry = 1;
    28                 }else{
    29                     carry = 0;
    30                 }
    31             }
    32             return result;
    33         }
    34     }
    35 }

     Second Round:

     1 public class Solution {
     2     public int[] plusOne(int[] digits) {
     3         boolean sig = false;
     4         for(int i = 0; i < digits.length; i ++)
     5             if(digits[i] != 9) sig = true;
     6         if(!sig){
     7             int[] result = new int[digits.length + 1];
     8             result[0] = 1;
     9             return result;
    10         }
    11         int[] result = new int[digits.length];
    12         int carry = 1;
    13         for(int i = digits.length - 1; i > -1; i --){
    14             result[i] = (digits[i] + carry) % 10;
    15             carry = (digits[i] + carry) / 10;
    16         }
    17         return result;
    18     }
    19 }
  • 相关阅读:
    python基础语法
    java关键字之final
    汉字占几个字节?
    Java学习记录(补充二:面对对象基础复习,习题)
    Java学习记录(补充二)
    Java学习记录(补充一(以习题为主:判断,循环语句))
    Java学习记录
    JS学习记录(jQuery补充一)
    JS学习记录(jQuery)
    JS学习记录(数组补充一)
  • 原文地址:https://www.cnblogs.com/reynold-lei/p/3349078.html
Copyright © 2011-2022 走看看