1

my assignment involves using recursive method. Write a program that reverses a LinkedList. This is the code i have done below, can anyone see what i am doing wrong, thank you very much!

PS: this is done in jGRASP

// Java program for reversing the linked list

class MyLinkedList {

static Node head;


static class Node {

    int data;

    Node next;



    Node(int d) {

        data = d;

        next = null;

    }

}



/* Function to reverse the linked list */

Node reverse(Node node) {
    Node prev = null;
    Node current = node;
    Node next = null;
    while (current != null) {
        next = current.next;
        current.next = prev;
        prev = current;
        current = next;
    }
    node = prev;
    return node;
}

// prints content of double linked list

void printList(Node node) {

    while (node != null) {

        System.out.print(node.data + " ");

        node = node.next;

    }

}



public static void main(String[] args) {

    MyLinkedList list = new MyLinkedList();
        list.head = new Node(85);
        list.head.next = new Node(15);
        list.head.next.next = new Node(4);
        list.head.next.next.next = new Node(20);

        System.out.println("Given Linked list");
        list.printList(head);
        head = list.reverse(head);
        System.out.println("");
        System.out.println("Reversed linked list ");
        list.printList(head);

     }

}

  • I don't see any errors at all. This program seems to be working perfectly fine. Can you post some of the errors that you got? – davidalayachew May 17 '21 at 06:38

0 Answers0