leetcode-初級アルゴリズム-配列-プラス1


タイトル:
整数からなる非空配列で表される非負の整数を与え、その数に1を加える.
最上位の数値は配列の先頭に格納され、配列内の各要素には1つの数値しか格納されません.
整数0を除いて、この整数はゼロで始まると仮定できます.
解決方法:
   //   :              
    public int[] plusOne(int[] digits) {
     long number=0; //      
     int index=1;   //   1    
     long numberPlusOne=0; //   1    
         for(int i=digits.length-1;i>=0;i--) {
            number+=digits[i]*Math.pow(10, digits.length-1-i);
      }
         System.out.println("number: "+number);
         //   1
         number+=1;
         numberPlusOne=number;
         System.out.println("number: "+numberPlusOne);
         long divisor=10;
         while(number/divisor!=0) {
          index++;
          divisor=10*divisor;
         }
         System.out.println("index: "+index);
         //        
         int digitPlusOne[]=new int[index];
         int i=0;
         while(i<index) {
            digitPlusOne[i]=(int) (numberPlusOne/(1*Math.pow(10, index-1-i)));
            numberPlusOne= numberPlusOne-(long)(digitPlusOne[i]*(1*Math.pow(10, index-1-i)));
            i++;
         }
         return digitPlusOne;
    }