LeetCode 兩數(shù)相加

感覺(jué)這題就是在幫我跳出大數(shù)相加的坑
這是我自己的答案,在long范圍內(nèi)都是對(duì)的,但是數(shù)字超過(guò)取值范圍的時(shí)候就崩潰了,這題的本意應(yīng)該就是教我們用單鏈表去算兩數(shù)和,唉。
錯(cuò)誤答案(非常萌新的錯(cuò)誤答案······)放下,回頭再貼正確答案

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */


class Solution {
       public static long pow(long m, long n){
       long result=1;        //0次方時(shí)為1  

     for(int i=0;i<n;i++){

      result *= m;          //每次乘上次計(jì)算次方的結(jié)果

      }
     return result;            //計(jì)算好了,返回值}
   }  
    
       public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
           int length1=1;
           int length2=1;
           
     
           
          ListNode l3=l1;
        while(l3.next!=null){
            length1++;
            l3=l3.next;
        }
      
        
           long a=0;//第一個(gè)整數(shù)
        for(int i=0;i<length1;i++){
           a=a+l1.val* pow(10,i);
         
            l1=l1.next;
        }
           System.out.println(a);
           
             ListNode l4=l2;
        while(l4.next!=null){
            length2++;
            l4=l4.next;
        }
      
        
           long b=0;//第一個(gè)整數(shù)
        for(int i=0;i<length2;i++){
           b=b+l2.val* pow(10,i);
            l2=l2.next;
            
           
        }
           System.out.println(b);
           
           
          long c=a+b;
         
          
           System.out.println( c);
           String s=String.valueOf(c);
           
           ListNode temp;
           ListNode l5=new ListNode(0);
           for(int i=s.length();i>0;i--){
               
              
               ListNode node=new ListNode(s.charAt(i-1)-'0');
               temp=l5;
               while(temp.next!=null){
                   temp = temp.next;
               }
               temp.next=node;
               
}
           l5=l5.next;
           return l5;
    }   
}

···自己寫(xiě)的最終雖然寫(xiě)出來(lái)了,但是好長(zhǎng)。。。還是看官方解答吧

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 給定兩個(gè)非空鏈表來(lái)表示兩個(gè)非負(fù)整數(shù)。位數(shù)按照逆序方式存儲(chǔ),它們的每個(gè)節(jié)點(diǎn)只存儲(chǔ)單個(gè)數(shù)字。將兩數(shù)相加返回一個(gè)新的鏈表...
    數(shù)據(jù)麻瓜閱讀 276評(píng)論 0 0
  • 給出兩個(gè) 非空 的鏈表用來(lái)表示兩個(gè)非負(fù)的整數(shù)。其中,它們各自的位數(shù)是按照 逆序 的方式存儲(chǔ)的,并且它們的每個(gè)節(jié)點(diǎn)只...
    胖大_ad99閱讀 187評(píng)論 0 0
  • 題目描述: 給定兩個(gè)非空鏈表來(lái)表示兩個(gè)非負(fù)整數(shù)。位數(shù)按照逆序方式存儲(chǔ),它們的每個(gè)節(jié)點(diǎn)只存儲(chǔ)單個(gè)數(shù)字。將兩數(shù)相加返回...
    coderzc閱讀 216評(píng)論 0 0
  • 解法一: 由于鏈表可能很長(zhǎng),我們不能把鏈表轉(zhuǎn)換為整數(shù)再相加,然后再轉(zhuǎn)成鏈表,這樣可能會(huì)發(fā)生整數(shù)越界。我們可以直接遍...
    Little丶Jerry閱讀 549評(píng)論 0 0
  • 題目 兩個(gè)數(shù)相加 問(wèn)題: 給定兩個(gè)非空鏈表來(lái)代表兩個(gè)非負(fù)整數(shù)。數(shù)字最高位位于鏈表開(kāi)始位置。它們的每個(gè)節(jié)點(diǎn)只存儲(chǔ)單個(gè)...
    依賴(lài)糊涂閱讀 383評(píng)論 0 2

友情鏈接更多精彩內(nèi)容