題目描述
給定兩個用鍊錶表示的整數,每個節點包含乙個數字。
這些數字是反向存放的,也就是個位排在鍊錶首部。
編寫函式對這兩個整數求和,並用鍊錶形式返回結果。
題目分析
這個真沒啥說的,基本功而已,注意下進製就完事了
# definition for singly-linked list.
# class listnode(object):
# def __init__(self, x):
# self.val = x
# self.next = none
class solution(object):
def addtwonumbers(self, l1, l2):
""":type l1: listnode
:type l2: listnode
:rtype: listnode
"""if l1 is none:
return l2
elif l2 is none:
return l1
elif l1 is none and l2 is none:
return
res_head = none
temp = none
add_item = 0
while l1 or l2:
val1 = l1.val if l1 else 0
val2 = l2.val if l2 else 0
new_val = val1 + val2 + add_item if val1 + val2 + add_item < 10 else (val1 + val2+ add_item) - 10
add_item = 1 if val1 + val2 + add_item >= 10 else 0
if res_head is none:
res_head = listnode(new_val)
temp = res_head
else:
temp.next = listnode(new_val)
temp = temp.next
if l1:
l1 = l1.next
if l2:
l2 = l2.next
if add_item == 1:
temp.next = listnode(1)
return res_head
leetcode 面試題 02 05 鍊錶求和
給定兩個用鍊錶表示的整數,每個節點包含乙個數字。這些數字是反向存放的,也就是個位排在鍊錶首部。編寫函式對這兩個整數求和,並用鍊錶形式返回結果。示例 輸入 7 1 6 5 9 2 即617 295 輸出 2 1 9,即912 高階 假設這些數字是正向存放的,請再做一遍。示例 輸入 6 1 7 2 9 ...
LeetCode 面試題 02 05 鍊錶求和
給定兩個用鍊錶表示的整數,每個節點包含乙個數字。這些數字是反向存放的,也就是個位排在鍊錶首部。編寫函式對這兩個整數求和,並用鍊錶形式返回結果。示例 輸入 7 1 6 5 9 2 即617 295 輸出 2 1 9,即912 高階 假設這些數字是正向存放的,請再做一遍。示例 輸入 6 1 7 2 9 ...
面試題 02 05 鍊錶求和
給定兩個用鍊錶表示的整數,每個節點包含乙個數字。這些數字是反向存放的,也就是個位排在鍊錶首部。編寫函式對這兩個整數求和,並用鍊錶形式返回結果。示例 1.先對應位求和 位數少的數對應位不存在就用0加 2.加上上一次的進製 3.得到當前位 4.記錄進製 當位數大的數遍歷完 遍歷完較長的鍊錶 且進製也為0...