注意:此**要考慮,其中乙個鍊錶為空,另乙個鍊錶不為空的情況,較為繁瑣。
/**
* definition for singly-linked list.
* public class listnode
* }*/class solution else
if(newval >= 10)else
listnode newnode = new listnode(newval);
r.next =newnode;
r = r.next;
p = p.next;
q = q.next;
}while(q != null)else
if(newval >= 10)else
newnode = new listnode(newval);
r.next = newnode;
r = r.next;
q = q.next;
}while(p != null)else
if(newval >= 10)else
newnode = new listnode(newval);
r.next = newnode;
r = r.next;
p = p.next;
}if(q == null && p == null && carryflag == true)
return l3.next;}}
接下來介紹一種稍微簡便的解法,其當乙個鍊錶為空乙個鍊錶非空時,給空鍊錶元素補0。
public listnode addtwonumbers(listnode l1, listnode l2)
if (carry > 0)
return dummyhead.next;
}
兩數相加 鍊錶
給出兩個 非空 的鍊錶用來表示兩個非負的整數。其中,它們各自的位數是按照 逆序 的方式儲存的,並且它們的每個節點只能儲存 一位 數字。如果,我們將這兩個數相加起來,則會返回乙個新的鍊錶來表示它們的和。您可以假設除了數字 0 之外,這兩個數都不會以 0 開頭。示例 輸入 2 4 3 5 6 4 輸出 ...
兩煉表數相加
給出兩個非空的鍊錶用來表示兩個非負的整數。其中,它們各自的位數是按照逆序的方式儲存的,並且它們的每個節點只能儲存一位數字。如果,我們將這兩個數相加起來,則會返回乙個新的鍊錶來表示它們的和。您可以假設除了數字 0 之外,這兩個數都不會以 0 開頭。示例 輸入 2 4 3 5 6 4 輸出 7 0 8 ...
鍊錶兩數相加
給出兩個 非空 的鍊錶用來表示兩個非負的整數。其中,它們各自的位數是按照 逆序 的方式儲存的,並且它們的每個節點只能儲存 一位 數字。如果,我們將這兩個數相加起來,則會返回乙個新的鍊錶來表示它們的和。您可以假設除了數字 0 之外,這兩個數都不會以 0 開頭。示例 輸入 2 4 3 5 6 4 輸出 ...