class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
class Solution:
def addTwoNumbers(self, l1: ListNode, l2: ListNode) -> ListNode:
def reverseList(linked_list: ListNode) -> ListNode:
rev = None
while linked_list:
temp = linked_list
linked_list = linked_list.next
temp.next = rev
rev = temp
return rev
def changeToIntNumber(linked_list: ListNode) -> int:
resultStr = ''
while linked_list:
resultStr = f'{resultStr}{linked_list.val}'
linked_list = linked_list.next
return int(resultStr)
def changeToReversedLinkedList(number: int) -> ListNode:
intlist = list(map(lambda x: int(x), list(str(number))))
intlist = intlist[::-1]
prev = None
while intlist:
node = ListNode(intlist.pop())
node.next = prev
prev = node
return node
return changeToReversedLinkedList(changeToIntNumber(reverseList(l1))+changeToIntNumber(reverseList(l2)))