def sumLists(ll1, ll2): ll3 = LinkedList() node1 = ll1.head node2 = ll2.head while node1 or node2: if node1 and node2: node1 = node1.next node2 = node2.next elif node1: node1 = node1.next ll2.addAsHead(0) elif node2: node2 = node2.next ll1.addAsHead(0) node1 = ll1.head node2 = ll2.head def sumNodes(node1, node2): if node1 and node2: print('node1', node1.value) print('node2', node2.value) addition = node1.value + node2.value + sumNodes( node1.next, node2.next) print('addition', addition) if addition > 9: ll3.addAsHead(addition - 10) return 1 else: ll3.addAsHead(addition) return 0 return 0 carry = sumNodes(node1, node2) if carry == 1: ll3.addAsHead(1) return ll3