leetcode

Leetcode submissions
git clone git://git.laack.co/leetcode.git
Log | Files | Refs | README

add-two-numbers.py (930B)


      1 # Definition for singly-linked list.
      2 # class ListNode:
      3 #     def __init__(self, val=0, next=None):
      4 #         self.val = val
      5 #         self.next = next
      6 class Solution:
      7 
      8     def addTwoNumbers(
      9         self, l1: Optional[ListNode], l2: Optional[ListNode]
     10     ) -> Optional[ListNode]:
     11         l1Val = convert(l1)
     12         l2Val = convert(l2)
     13         res = l1Val + l2Val
     14         print(res)
     15         finalLs = revert(res)
     16         return finalLs
     17 
     18 
     19 def revert(num):
     20     if num == 0:
     21         return ListNode(0)
     22 
     23     retLs = []
     24     while num > 0:
     25         toAdd = num % 10
     26         retLs.append(toAdd)
     27         num = num // 10
     28 
     29     base = ListNode(retLs[0])
     30     last = base
     31     for i in range(1, len(retLs)):
     32         current = ListNode(retLs[i])
     33         last.next = current
     34         last = current
     35 
     36     return base
     37 
     38 
     39 def convert(l1):
     40     vals = ""
     41     while l1 != None:
     42         vals = str(l1.val) + vals
     43         l1 = l1.next
     44     return int(vals)