class ListNode: def __init __ (self, x): self.val = x self.next = None class Solution: def addTwoNumbers (self, l1: ListNode, l2: ListNode) -> ListNode: "" "crée une liste chaînée vide, p, Q pointe vers le nœud principal, q est utilisé pour retourner à la fin, p est utilisé pour traverser "" " p = q = ListNode (0) val = 0 tandis que val ou l1 ou l2: val, cur = divmod ( val + (l1.val if l1 else 0) + (l2.val if l2 else 0), 10) "" "équivaut à sum stocke le résultat de l'addition des deux valeurs de nœud et de l'indicateur de report sum = val + (l1.val if l1 else 0) + (l2.val if l2 else 0) cur = sum% 10 #take restder val = sum // 10 #round up "" " #Créer une nouvelle liste chaînée p.next = ListNode (cur) if __name__ == "__main__": l1 = generateList ([2, 4,3]) l2 = generateList ([5,6,4]) p = p.next l1 = l1.next if l1 else None l2 = l2.next if l2 else None return q.next "" "Create linked list" "" def generateList (l: list) -> ListNode: p = q = ListNode (0) pour val dans l: p.next = ListNode (val) p = p.next return q.next "" "sortie liste liée" "" def printList (l: ListNode): while l: print (" % d, "% (l.val), end = '') #end = '' signifie ajouter un espace à la fin sans retour à la ligne l = l.next print ('') printList (l1) printList (l2) s = Solution () printList (s.addTwoNumbers (l1, l2))
Python crée deux listes chaînées et les ajoute; Leetcode additionne deux nombres
Je suppose que tu aimes
Origine blog.csdn.net/qq_39429779/article/details/108952403
conseillé
Classement