zoukankan      html  css  js  c++  java
  • 力扣题解 66th 加一

    66th 加一

    • 模拟运算法

      根据题目要求做一个模拟即可,需要注意的是最后的数组长度不一定为原数组长度,还可能会增加一位,因为类似于999会进位到1000。因此最后需要做一个判断。

      class Solution {
          public int[] plusOne(int[] digits) {
              int[] ans = new int[digits.length + 1];
              boolean flag = false;
      
              for (int i = digits.length - 1; i >= 0; i--) {
                  if (i == 0 && digits[i] == 9) flag = true;
                  digits[i] += 1;
                  if (digits[i] < 10) break;
                  digits[i] -= 10;
              }
      
              if (flag) {
                  ans[0] = 1;
                  int cnt = 1;
                  for (int e : digits) {
                      ans[cnt++] = e;
                  }
              } else {
                  ans = digits;
              }
      
              return Arrays.copyOfRange(ans, ans[0] == 0 && ans.length != 1 ? 1 : 0, ans.length);
          }
      }
      
  • 相关阅读:
    JS 笔记
    html笔记 横向两列布局
    jsp HTTP Status 405
    有效范围为request的bean
    jsp:session对象存储数据
    sql笔记
    StringBuffer的用法
    VB学习笔记
    html 笔记
    Linux 笔记
  • 原文地址:https://www.cnblogs.com/fromneptune/p/13232406.html
Copyright © 2011-2022 走看看