# Definition for singly-linked list. # class ListNode(object): # def __init__(self, x): # self.val = x # self.next = None class Solution(object): def addTwoNumbers(self, l1, l2): """ :type l1: ListNode :type l2: ListNode :rtype: ListNode """ cur = None carry = 0 sum = 0 while l1 or l2 or carry: sums = carry if l1: sums += l1.val l1 = l1.next if l2: sums += l2.val l2 = l2.next if sums >= 10: carry = 1 sums %=10 else: carry = 0 item = ListNode(sums) if cur == None: cur = item else: p = cur while p.next != None: p = p.next p.next = item return cur