首页 > 代码库 > Leetcode Variant-Plus N

Leetcode Variant-Plus N

Given a non-negative number represented as an array of digits, plus N to the number.

The digits are stored such that the most significant digit is at the head of the list.

N is guaranteed to be non-negative.

Solution:

 1 public class Solution { 2     public int[] plusN(int[] digits, int n) { 3         int carry = n; 4         int index = digits.length-1; 5         while (carry>0 && index>=0){ 6             int val = digits[index]+carry; 7             carry = val/10; 8             val = val%10; 9             digits[index]=val;10             index--;11         }12         int[] res;13         if (index<0 && carry>0){14             String cStr = Integer.toString(carry);15             res = new int[cStr.length()+digits.length];16             for (int i=0;i<cStr.length();i++)17                 res[i]=cStr.charAt(i)-‘0‘;18             for (int i=0;i<digits.length;i++)19                 res[i+cStr.length()]=digits[i];           20         } else res = digits;21         return res;22     }23 }

 

Leetcode Variant-Plus N