題目:
給出兩個 非空 的鍊錶用來表示兩個非負的整數。其中,它們各自的位數是按照 逆序 的方式儲存的,並且它們的每個節點只能儲存 一位 數字。
如果,我們將這兩個數相加起來,則會返回乙個新的鍊錶來表示它們的和。
您可以假設除了數字 0 之外,這兩個數都不會以 0 開頭。
示例:
輸入:(2 -> 4 -> 3) + (5 -> 6 -> 4)
輸出:7 -> 0 -> 8
原因:342 + 465 = 807
思路:
向後進製,當前位為餘數,進製為商。
解答:
# definition for singly-linked list.
# class listnode:
# def __init__(self, val=0, next=none):
# self.val = val
# self.next = next
class
solution
:def
addtwonumbers
(self, l1: listnode, l2: listnode)
-> listnode:
res=p=listnode(
none
) s=
0#每一步的求和結果
while l1 or l2 or s:
s+=(l1.val if l1 else0)
+(l2.val if l2 else0)
p.next
=listnode(s%10)
p=p.
next
s//=
10 l1=l1.
next
if l1 else
none
l2=l2.
next
if l2 else
none
return res.
next
每日一題 leetcode 2 兩數相加
兩數相加 難度中等4562 給出兩個 非空 的鍊錶用來表示兩個非負的整數。其中,它們各自的位數是按照 逆序 的方式儲存的,並且它們的每個節點只能儲存 一位 數字。如果,我們將這兩個數相加起來,則會返回乙個新的鍊錶來表示它們的和。您可以假設除了數字 0 之外,這兩個數都不會以 0 開頭。示例 輸入 2...
LeetCode每日一題 兩數之和
前言 堅持日更leetcode刷題系列 不積跬步,無以至千里 不積小流,無以成江海。願與諸君共勉!題目 1.兩數之和 題目描述 給定乙個整數陣列nums和乙個目標值target,請你在該陣列中找出和為目標值的那兩個整數,並返回他們的陣列下標。你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這...
Leetcode每日一題 兩數相加
給出兩個 非空 的鍊錶用來表示兩個非負的整數。其中,它們各自的位數是按照 逆序 的方式儲存的,並且它們的每個節點只能儲存 一位 數字。如果,我們將這兩個數相加起來,則會返回乙個新的鍊錶來表示它們的和。您可以假設除了數字 0 之外,這兩個數都不會以 0 開頭。剛拿到題目的時候沒有仔細思考,先想的是寫乙...