def generate_double_linked_list(length, start=1): head = _double_linked_list_Node() temp_node = head prev_node = _double_linked_list_Node() for i in xrange(start, length+start): node = _double_linked_list_Node(i) temp_node.next = node prev_node = temp_node temp_node = temp_node.next temp_node.prev = prev_node head = head.next #print__double_linked_list_contents(head) return head
def reverse_double_linked_list(head): temp = _double_linked_list_Node() curr = head while(curr != None): temp = curr.prev curr.prev = curr.next curr.next = temp curr = curr.prev if temp != None: head = temp.prev return head