From be194116e00db1af39185d391e308646d9df1f92 Mon Sep 17 00:00:00 2001 From: Rodolfo P A <6721075+rodoufu@users.noreply.github.com> Date: Wed, 15 Jul 2026 15:41:16 -0300 Subject: [PATCH] Create add-two-numbers.py --- leetCode/LinkedList/add-two-numbers.py | 40 ++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 leetCode/LinkedList/add-two-numbers.py diff --git a/leetCode/LinkedList/add-two-numbers.py b/leetCode/LinkedList/add-two-numbers.py new file mode 100644 index 0000000..429e44d --- /dev/null +++ b/leetCode/LinkedList/add-two-numbers.py @@ -0,0 +1,40 @@ +# https://leetcode.com/problems/add-two-numbers/ +# 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: Optional[ListNode], l2: Optional[ListNode]) -> Optional[ListNode]: + carry = 0 + resp = ListNode(0) + it = resp + while l1 and l2: + it.next = ListNode(0) + it = it.next + it.val = carry + l1.val + l2.val + carry = it.val // 10 + it.val %= 10 + l1 = l1.next + l2 = l2.next + + while l1: + it.next = ListNode(0) + it = it.next + it.val = carry + l1.val + carry = it.val // 10 + it.val %= 10 + l1 = l1.next + + while l2: + it.next = ListNode(0) + it = it.next + it.val = carry + l2.val + carry = it.val // 10 + it.val %= 10 + l2 = l2.next + + if carry > 0: + it.next = ListNode(carry) + + return resp.next