[LeetCode] No.66 Plus One

链接:https://leetcode.com/problems/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.

分析:
没别的方法,就是加,但是要注意进1位,总感觉这不是算法题,是细节题.

public class Solution {
    public int[] plusOne(int[] digits) {
         if (digits.length == 0) {
            return new int[]{1};
        }
        int carry = 1;
        for (int i = digits.length - 1; i >= 0; i--) {
            int value = digits[i] + carry;
            carry = value/10;
            digits[i] = value%10;
            if(carry == 0) {
                break;
            }
        }
        if(carry == 1) {
            int[] one = new int[digits.length+1];
            one[0] = 1;
            for(int i=1;i<digits.length+1;i++) {
                one[i] = digits[i-1];
            }
            return one;
        } else {
            return digits;
        }
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,792评论 0 33
  • 喝酒是一种表演。 其实我并不喜欢喝酒,我更喜欢喝饮料,喝茶。但是会喝酒在众人眼里是一个优点,跟会唱歌会跳舞差不多。...
    凤梨和天真不可兼得阅读 344评论 0 0
  • 人都愿意要自由,可是每个人想要的自由又并不是一回事。什么是自由呢,有一种人认为自由就是可以得到自己想要的,这个不...
    新生千寻阅读 205评论 0 0
  • 有个朋友的签名是,人是会变的。 我一直不喜欢这句话。在我看来,人生最好的状态就是,我不变,你不变,生活也不要变。 ...
    月朦胧0鸟朦胧阅读 303评论 1 2
  • 近来天气炎热,呆在空调房里是最舒适不过的,白天在办公室里被空调吹着,晚上睡觉也不停,身体是感觉舒服了,可是肌肤却是...
    淼淼_504a阅读 1,190评论 0 0