2. 兩數(shù)相加-leetCode&python

1、題目:

給你兩個 非空 的鏈表,表示兩個非負的整數(shù)。它們每位數(shù)字都是按照 逆序 的方式存儲的,并且每個節(jié)點只能存儲 一位 數(shù)字。
請你將兩個數(shù)相加,并以相同形式返回一個表示和的鏈表。
你可以假設(shè)除了數(shù)字 0 之外,這兩個數(shù)都不會以 0 開頭。
示例1:
輸入:l1 = [2,4,3], l2 = [5,6,4]
輸出:[7,0,8]
解釋:342 + 465 = 807.

2、代碼

class ListNode(object):
    def __init__(self, val=0, next=None):
        self.val = val
        self.next = next
class Solution(object):
    def addTwoNumbers(self, l1, l2):
        """
        循環(huán)兩個鏈表,記錄進位,最終返回結(jié)果
        """
        cur=0
        n1,n2=l1,l2
        head=ListNode()
        node=head
        while n1 or n2 or cur:
            if n1:
                cur+=n1.val
                n1=n1.next
            if n2:
                cur+=n2.val
                n2=n2.next
            node.next=ListNode(cur%10)
            node=node.next
            cur//=10
        return head.next

3、示例

    s=Solution()
    l1=ListNode();#l1:[2,4,3]
    l1.val=2; l1.next=ListNode(4);l1.next.next=ListNode(3)
    l2 = ListNode()#l2:[5, 6, 4]
    l2.val=5;l2.next=ListNode(6);l2.next.next=ListNode(4)
    res=s.addTwoNumbers(l1=l1,l2=l2)
    print(res)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容