leetcode 面試題 02 05 鍊錶求和

2021-10-03 09:34:28 字數 1262 閱讀 1351

題目描述

給定兩個用鍊錶表示的整數,每個節點包含乙個數字。

這些數字是反向存放的,也就是個位排在鍊錶首部。

編寫函式對這兩個整數求和,並用鍊錶形式返回結果。

題目分析

這個真沒啥說的,基本功而已,注意下進製就完事了

# 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...