給出兩個非空
的鍊錶用來表示兩個非負的整數。其中,它們各自的位數是按照逆序
的方式儲存的,並且它們的每個節點只能儲存一位
數字。
如果,我們將這兩個數相加起來,則會返回乙個新的鍊錶來表示它們的和。
您可以假設除了數字0
之外,這兩個數都不會以0
開頭。
輸入:(2 -> 4 -> 3) + (5 -> 6 -> 4)
輸出:7 -> 0 -> 8
原因:342 + 465 = 807
此題其實就是簡單的把從左至右將兩個鍊錶上的每一位的數字相加兩個鍊錶
,從左至右
相加而已,相當於乙個特殊的加法運算
判斷相加後的值是否需要進製
返回最初宣告的陣列
不需要宣告新鍊錶的寫法:
class
listnode
}public
static listnode addlist
(listnode l1, listnode l2)
// 計算進製標記
if(num >9)
else
// 設定新的node
if(node.next != null)
else
if(l2.next != null)
else
// 如果l2為空
}else
else
}// 判斷是否為還有沒有處理完的元素
if(node.next == null)
break;}
node = node.next;}}
return l1;
}
宣告新鍊錶的寫法
class
solution
if(tempval >9)
l1 = l1 != null ? l1.next : null;
l2 = l2 != null ? l2.next : null;
node.next =
newlistnode
(tempval)
; node = node.next;}if
(addbit)
return returnnode.next;
}}
1. jsvar
addtwonumbers
=function
(l1, l2)
else
node = node.next =
newlistnode
(sum);if
(l1) l1=l1.next;
if(l2) l2=l2.next;}if
(enter ===1)
return result.next;
};
2. pythonclass
listnode
:def
__init__
(self, x)
: self.val = x
self.
next
=none
class
solution
:def
addtwonumbers
(self, l1: listnode, l2: listnode)
-> listnode:
add_bit =
false
node = l1
while l1 is
notnone
:if l2 is
notnone
: temp_val = l1.val + l2.val
if add_bit:
temp_val = temp_val +
1 add_bit =
false
if temp_val >9:
temp_val = temp_val -
10 add_bit =
true
l1.val = temp_val
if l1.
next
isnot
none
: l1 = l1.
next
l2 = l2.
next
elif l2.
next
isnot
none
: l1.
next
= l2.
next
l1 = l1.
next
l2 =
none
else
:break
else
: temp_val = l1.val
if add_bit:
temp_val = temp_val +
1 add_bit =
false
if temp_val >9:
temp_val = temp_val -
10 add_bit =
true
l1.val = temp_val
if l1.
next
isnone
:break
else
: l1 = l1.
next
if add_bit:
l1.next
= listnode(1)
return node
leetcode第二題直達車
我的個人部落格,有空來坐坐
Leetcode 第二題 兩數相加
給出兩個非空的鍊錶用來表示兩個非負的整數。其中,它們各自的位數是按照逆序的方式儲存的,並且它們的每個節點只能儲存一位數字。如果,我們將這兩個數相加起來,則會返回乙個新的鍊錶來表示它們的和。您可以假設除了數字 0 之外,這兩個數都不會以 0 開頭。示例 輸入 2 4 3 5 6 4 輸出 7 0 8 ...
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 主...