Reverse a doubly linked list hackerrank solution java
Problem solution in Python programming.#!/bin/python3 import math import os import random import re import sys class DoublyLinkedListNode: def __init__(self, node_data): self.data = node_data self.next = None self.prev = None class DoublyLinkedList: def __init__(self): self.head = None self.tail = None def insert_node(self, node_data): node = DoublyLinkedListNode(node_data) if not self.head: self.head = node else: self.tail.next = node node.prev = self.tail self.tail = node def print_doubly_linked_list(node, sep, fptr): while node: fptr.write(str(node.data)) node = node.next if node: fptr.write(sep) # Complete the reverse function below. # # For your reference: # # DoublyLinkedListNode: # int data # DoublyLinkedListNode next # DoublyLinkedListNode prev # # def reverse(head): if head == None or head.next == None: return head while True: temp = head.next head.next = head.prev head.prev = temp head = head.prev if head.next == None: break temp = head.next head.next = head.prev head.prev = temp return head if __name__ == '__main__': fptr = open(os.environ['OUTPUT_PATH'], 'w') t = int(input()) for t_itr in range(t): llist_count = int(input()) llist = DoublyLinkedList() for _ in range(llist_count): llist_item = int(input()) llist.insert_node(llist_item) llist1 = reverse(llist.head) print_doubly_linked_list(llist1, ' ', fptr) fptr.write('\n') fptr.close() Show Java Solution For HackerRank Problem: Reverse a doubly linked list12/11/2020bytebot #java#codingchallenge#linked-list#hackerrank-solutions Reverse a doubly linked list, is a HackerRank problem from Linked List subdomain. In this post we will see how we can solve this challenge in Java Python Solution For HackerRank Problem: Reverse a doubly linked list12/13/2020bytebot #hackerrank-solutions#codingchallenge#python#data-structures#linked-list Reverse a doubly linked list, is a HackerRank problem from Linked Lists subdomain. In this post we will see how we can solve this challenge in Python Reverse a Doubly Linked List
Given a Doubly Linked List, the task is to reverse the given Doubly Linked List. See below diagrams for example. (a) Original Doubly Linked List (b) Reversed Doubly Linked ListHere is a simple method for reversing a Doubly Linked List. All we need to do is swap prev and next pointers for all nodes, change prev of the head (or start) and change the head pointer in the end.
|