# class ListNode: # def __init__(self, x): # self.val = x # self.next = None # # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param head1 ListNode类 # @param head2 ListNode类 # @return ListNode类 # class Solution: def addInList(self , head1: ListNode, head2: ListNode) -> ListNode: # write code here reversed1 = self.reverseList(head1) reversed2 = self.reverseList(head2) dummy = ListNode(0) current = dummy carry = 0 while reversed1 or reversed2 or carry: val1 = reversed1.val if reversed1 else 0 val2 = reversed2.val if reversed2 else 0 total = val1 + val2 + carry carry = total // 10 current.next = ListNode(total % 10) current = current.next if reversed1: reversed1 = reversed1.next if reversed2: reversed2 = reversed2.next result = self.reverseList(dummy.next) return result def reverseList(self, pHead): if not pHead: return None prev = None curr = pHead while curr: next_node = curr.next curr.next = prev prev = curr curr =next_node return prev