給出兩個非空的鍊錶用來表示兩個非負的整數。其中,它們各自的位數是按照逆序的方式儲存的,並且它們的每個節點只能儲存一位數字。
如果,我們將這兩個數相加起來,則會返回乙個新的鍊錶來表示它們的和。
您可以假設除了數字 0 之外,這兩個數都不會以 0 開頭。
示例:
輸入:(2 -> 4 -> 3) + (5 -> 6 -> 4)輸出:7 -> 0 -> 8原因:342 + 465 = 807非遞迴實現:
/**
* definition for singly-linked list.
* public class listnode
* }*/class solution
if(l2==null)
int num = 0;
//記錄頭指標的前乙個指標,因為頭指標往後移動,最後不便於返回頭指標
listnode prehead = new listnode(0);
listnode currentnode = new listnode(0);
prehead.next = currentnode;
while(l1!=null || l2!=null || num!=0)
}return prehead.next;
}}
遞迴實現:
/**
* definition for singly-linked list.
* public class listnode
* }*/class solution
if(l2==null)
int value = l1.val+l2.val;
listnode head = new listnode(value%10);
head.next = addtwonumbers(l1.next, l2.next);
if(value>=10)
return head;
}}
兩數相加 LeetCode 鍊錶
給定兩個非空鍊錶來表示兩個非負整數。位數按照逆序方式儲存,它們的每個節點只儲存單個數字。將兩數相加返回乙個新的鍊錶。你可以假設除了數字 0 之外,這兩個數字都不會以零開頭。示例 輸入 2 4 3 5 6 4 輸出 7 0 8原因 342 465 807思路 在建立乙個新的鍊錶,然後再新鍊錶中進行操作...
leetcode 鍊錶兩數相加
給出兩個 非空 的鍊錶用來表示兩個非負的整數。其中,它們各自的位數是按照 逆序 的方式儲存的,並且它們的每個節點只能儲存 一位 數字。如果,我們將這兩個數相加起來,則會返回乙個新的鍊錶來表示它們的和。您可以假設除了數字 0 之外,這兩個數都不會以 0 開頭。示例 輸入 2 4 3 5 6 4 輸出 ...
Leetcode 兩數相加 鍊錶方式
給出兩個 非空 的鍊錶用來表示兩個非負的整數。其中,它們各自的位數是按照 逆序 的方式儲存的,並且它們的每個節點只能儲存 一位 數字。如果,我們將這兩個數相加起來,則會返回乙個新的鍊錶來表示它們的和。您可以假設除了數字 0 之外,這兩個數都不會以 0 開頭。示例 輸入 2 4 3 5 6 4 輸出 ...