La entrada de la función consta de dos listas enlazadas no vacías que representan dos enteros no negativos. Los dígitos se almacenan en orden inverso y cada uno de sus nodos contiene un solo dígito. Suma los dos números y devuelve el resultado como una lista enlazada, cuyos dígitos también se almacenan en orden inverso. La clase ListNode, componente básico de la lista enlazada, está definida en la pestaña 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]