def main(): ll = SinglyLinkedList() for i in xrange(15): ll.append(i) rev = reverse_linked_list(ll.head) for i in reversed(xrange(15)): assert i == rev.val rev = rev.next
def main(): ll1 = SinglyLinkedList() ll2 = SinglyLinkedList() for i in xrange(8): ll1.append(i) for i in [-1, 0, 2, 7, 8, 9]: ll2.append(i) merged_ll_head = merge_linked_lists(ll1.head, ll2.head) expected = [-1, 0, 0, 1, 2, 2, 3, 4, 5, 6, 7, 7, 8, 9] for num in expected: assert num == merged_ll_head.val merged_ll_head = merged_ll_head.next ll3 = SinglyLinkedList() ll4 = SinglyLinkedList() for i in xrange(8): ll3.append(i) for i in [-1, 0, 2, 7, 8, 9]: ll4.append(i) merged_ll_head = merge_linked_lists_r(ll3.head, ll4.head) expected = [-1, 0, 0, 1, 2, 2, 3, 4, 5, 6, 7, 7, 8, 9] for num in expected: assert num == merged_ll_head.val merged_ll_head = merged_ll_head.next
def main(): ll = SinglyLinkedList() ll.append(1) ll.append(1) ll.append(2) ll.append(5) ll.append(8) ll.append(8) ll.append(9) root = sorted_linked_list_to_bst(ll.head) expected = iter([1, 1, 2, 5, 8, 8, 9]) for num in inorder_traversal(root): assert num == expected.next()
def createNewLinkedList(): ''' Creates a new linked list: 1 -> 2 -> 3 -> 4 -> 5. ''' print('Creating a new linked list.') linkedList = SinglyLinkedList() linkedList.append(1) linkedList.append(2) linkedList.append(3) linkedList.append(4) linkedList.append(5) linkedList.iterate() return linkedList
from LinkedList import SinglyLinkedList from LinkedList import ListNode import random import math def delete_middle_node(node): node.data = node.next.data node.next = node.next.next ll = SinglyLinkedList() ll.append('A') ll.append('B') MidNode = ListNode('C') ll.append(MidNode) ll.append('D') ll.append('E') print(ll) delete_middle_node(MidNode) print(ll)
from LinkedList import SinglyLinkedList sample = SinglyLinkedList() sample.append(1) sample.prepend(3) sample.append(2) sample.insert(1, 5) sample.print() print("index 1: ",sample.access(1)) sample.set_head(2) sample.print()
current = ll.head while current: runner = current while runner.next: if runner.next.data == current.data: runner.next = runner.next.next else: runner = runner.next current = current.next return ll.head ll = SinglyLinkedList() for i in range(0, 99): ll.append(100 * random.random()) print(ll) remove_dups(ll) print(ll) ll = SinglyLinkedList() for i in range(0, 99): ll.append(100 * random.random()) print(ll) remove_dups_no_cache(ll) print(ll) ll = SinglyLinkedList() ll.append('A')