Example #1
0
def add(node1, node2, carry):
    if node1 == None and node2 == None and carry == 0:
        return None

    new_node = Node(0, None, None)

    sum = carry
    if node1 != None: sum += node1.value
    if node2 != None: sum += node2.value

    carry_next = sum // 10
    new_node.value = sum % 10

    if node1 is not None or node2 is not None or carry_next > 0:
        result = add(node1.next if node1 is not None else None,
                     node2.next if node2 is not None else None, carry_next)
        new_node.next = result
    return new_node
Example #2
0
def delete_middle_node(s_list: LinkedList, node: Node):
    node.value = node.next.value
    node.next = node.next.next
 def test_after_single_node(self):
     node = Node(1)
     node = node.insert(2, 1)
     self.assertEqual(node.value(), 1)
     self.assertEqual(node.next().value(), 2)
Example #4
0
 def test_property(self):
     n = Node()
     n.value = 1
     self.assertEqual(n.value, 1, "Property test") 
 def test_before_single_node(self):
     node = Node(1)
     node = node.insert(2, 0)
     self.assertEqual(node.value(), 2)
     self.assertEqual(node.next().value(), 1)