class ListNode: def __init __(self、x): self.val = x self.next = None class Solution: def addTwoNumbers(self、l1:ListNode、l2:ListNode)-> ListNode: "" "は空のリンクリストを作成します。 p、Qはヘッドノードを指し、qは最後に戻るために使用され、pは "" "をトラバースするために使用されます p = q = ListNode(0) val = 0 while valまたはl1またはl2: val、cur = divmod( val +(l1.val if l1 else 0)+(l2.val if l2 else 0)、10) "" "は 、2つのノード値とキャリーフラグを加算した結果を合計ストアに格納するのと同じです sum = val + (l1.val if l1 else 0)+(l2.val if l2 else 0) cur = sum%10 #剰余を取る val = sum // 10 #切り上げ"" " 新しいリンクリストを作成する p。next = ListNode(cur) p = p.next l1 = l1.next if l1elseなし l2 = l2.next if l2elseなし returnq.next "" "リンクリストの作成" "" def generateList(l:list)-> ListNode: p = q = ListNode(0) for val in l: p.next = ListNode(val) p = p.next return q.next "" " outputlinked list" "" def printList(l:ListNode): while l: print( " %d、 "%(l.val)、end = '')#end = ''は、ラップせずに末尾にスペースを追加することを意味し ます l = l.next print( '') 場合、。 == "__main __": l1 = generateList([2、4、3]) l2 = generateList([5,6,4]) printList(l1) printList(l2) s = Solution() printList(s.addTwoNumbers(l1、l2))
Pythonは2つのリンクリストを作成し、それらを追加します。Leetcodeは2つの数値を合計します
おすすめ
転載: blog.csdn.net/qq_39429779/article/details/108952403
おすすめ
ランキング