def sum_lists(ll_a, ll_b): n1, n2 = ll_a.head, ll_b.head ll = LinkedList() carry = 0 while n1 or n2: result = carry if n1: result += n1.value n1 = n1.next if n2: result += n2.value n2 = n2.next ll.append(result % 10) carry = result // 10 if carry: ll.append(carry) return ll ll_a = LinkedList() ll_a.append_multiple([6, 1, 7]) ll_b = LinkedList() ll_b.append_multiple([2, 9, 5]) ll_a.display() ll_b.display() ll_sum = sum_lists(ll_a, ll_b) ll_sum.display()
diff = longer.length - shorter.length short, long = shorter.head, longer.head for i in range(diff): long = long.next while short is not long: short = short.next long = long.next return long.value ll_1 = LinkedList() ll_2 = LinkedList() ll_1.append_multiple([2, 8, 4, 9, 2]) ll_2.append_multiple([3, 4, 1]) node = Node(5) ll_1.append(node) ll_2.append(node) node = Node(1) ll_1.append(node) ll_2.append(node) ll_1.display() ll_2.display() result = intersection(ll_1, ll_2) print(result)
from utils import LinkedList def delete_middle_node(node): node.value = node.next.value node.next = node.next.next ll = LinkedList() ll.append_multiple([1, 2, 3, 4]) middle_node = ll.append(5) ll.append_multiple([6, 7, 8, 9]) ll.display() delete_middle_node(middle_node) ll.display()