給出兩個非空的鍊錶用來表示兩個非負的整數。其中,它們各自的位數是按照逆序的方式儲存的,並且它們的每個節點只能儲存一位數字。
如果,我們將這兩個數相加起來,則會返回乙個新的鍊錶來表示它們的和。
您可以假設除了數字 0 之外,這兩個數都不會以 0 開頭。
示例:
輸入:(2 -> 4 -> 3) + (5 -> 6 -> 4)
輸出:7 -> 0 -> 8
原因:342 + 465 = 807
使用鍊錶儲存資料,迴圈遍歷即可。
class
solution
:def
addtwonumbers
(self, l1, l2)
:"""
:type l1: listnode
:type l2: listnode
:rtype: listnode
"""up =
0 root = head = listnode(0)
while l1 or l2 or up:
l1, val1 =
[l1.
next
, l1.val]
if l1 else[0
,0] l2, val2 =
[l2.
next
, l2.val]
if l2 else[0
,0] up,down =
divmod
(val1+val2+up,10)
head.
next
= listnode(down)
head = head.
next
return root.
next
/**
* definition for singly-linked list.
* struct listnode
* };
*/class solution
return head->next;}};
/**
* definition for singly-linked list.
* public class listnode
* }*/class
solution
return head.next;
}}
LeetCode第二題 兩數相加
給出兩個非空的鍊錶用來表示兩個非負的整數。其中,它們各自的位數是按照逆序的方式儲存的,並且它們的每個節點只能儲存一位數字。如果,我們將這兩個數相加起來,則會返回乙個新的鍊錶來表示它們的和。您可以假設除了數字0之外,這兩個數都不會以0開頭。輸入 2 4 3 5 6 4 輸出 7 0 8 原因 342 ...
Leetcode 第二題 兩數相加
按照平常的整數加法計算即可,則結果的第 i 位數字等於鍊錶a的第 i 位的值加上鍊表b的第 i 位的值 再加上第 i 1 位的進製,即是結果的第 i 位,然後再求得本位的進製,將結果的節點 加入新鍊錶即可。何時應該結束迴圈呢?容易想到,當兩個鍊錶都為空時,應該結束迴圈,其實 這是錯誤的,還應該再判斷...
leetcode 第二題 兩數相加 java
class solution else x 0 if l2 null else y 0 int sum x y h r sum 10 h sum 10 current.next new listnode r current current.next if h 0 return list.next 主...