A entrada da função consiste em duas listas encadeadas não vazias que representam dois inteiros não negativos. Os dígitos são armazenados em ordem inversa, e cada um de seus nós contém um único dígito. Some os dois números e retorne a soma como uma lista encadeada, na qual os dígitos também são armazenados em ordem inversa. A classe ListNode, componente básico da lista encadeada, está definida na aba Tests.
class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = nextlt1 = ListNode(2)
lt1.add_data([4, 3])
lt2 = ListNode(5)
lt2.add_data([6, 4])
# print(lt1.get_data()) # [2, 4, 3]
# print(lt2.get_data()) # [5, 6, 4]
# print(342 + 465) # 807
add_two_numbers(lt1, lt2).get_data() ➞ [7, 0, 8]lt1 = ListNode(0)
lt2 = ListNode(0)
# print(lt1.get_data()) # [0]
# print(lt2.get_data()) # [0]
# print(0 + 0) # 0
add_two_numbers(lt1, lt2).get_data() ➞ [0]lt1 = ListNode(9)
lt1.add_data([9,9,9,9,9,9])
lt2 = ListNode(9)
lt2.add_data([9,9,9])
# print(lt1.get_data()) # [9, 9, 9, 9, 9, 9, 9]
# print(lt2.get_data()) # [9, 9, 9, 9]
# print(9999999 + 9999) # 10009998
add_two_numbers(lt1, lt2).get_data() ➞ [8, 9, 9, 9, 0, 0, 0, 1]