美文网首页
leetcode-加一

leetcode-加一

作者: Pei丶Code | 来源:发表于2018-08-30 11:28 被阅读15次

    加一
    给定一个非负整数组成的非空数组,在该数的基础上加一,返回一个新的数组。
    最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。
    你可以假设除了整数 0 之外,这个整数不会以零开头。
    最开始想法:**超出int范围了
    class Solution {
    public int[] plusOne(int[] digits) {//129
    int count = digits.length;//3
    int num = 0;
    for(int i = 0; i<count ;i++){
    //
    num = num +digits[i]
    (int)Math.pow(10,count-i-1);
    }
    num = num+1;//130
    String s = String.valueOf(num);
    int count1 = s.length();//3
    int[]array = new int[count1];
    // array[1] = num;
    for(int j = 0;j<count1;j++){
    // 130/100 = 1...30
    int a = num/(int)Math.pow(10,count1-j-1);
    num = num%(int)Math.pow(10,count1-j-1);
    array[j] = a;
    }
    return array;
    }
    }

    网上解法:
    class Solution {
    public int[] plusOne(int[] digits) {//129
    if (digits.length == 0) return digits;
    int carry = 1, n = digits.length;
    for (int i = digits.length - 1; i >= 0; --i) {
    if (carry == 0) return digits;
    int sum = digits[i] + carry;
    digits[i] = sum % 10;
    carry = sum / 10;
    }
    int[] res = new int[n + 1];
    res[0] = 1;
    return carry == 0 ? digits : res;

    }
    

    }

    相关文章

      网友评论

          本文标题:leetcode-加一

          本文链接:https://www.haomeiwen.com/subject/pviirftx.html