0
public Node reverseNode(Node head){
    Node prevNode = null ;
    //taken a prev node as null
    Node currNode = head ;
    //taken a current node
    Node tempNode = currNode ;
    //and a temp Node to keep link with further nodes
    while (currNode != null) {
        currNode.next = prevNode ; 
        prevNode = currNode ; 
        currNode = tempNode.next ; 
        tempNode = currNode ; 
        }
    head = prevNode;
    // making last element as our new head
    return head ;  
    // returning new head
}

Will you please help me out with where I'am wrong with my code my linked list is 3 5 7 9 null expected output 9 7 5 3 null output 3 null

1 Answers1

0

You should save next node at the start position of the loop

public Node reverseNode(Node head){
    Node prevNode = null ;
    //taken a prev node as null
    Node currNode = head ;
    //taken a current node

    //use tempNode to save next node
    Node tempNode = currNode.next ;

    while (currNode != null) {

        //save next node to tempNode
        tempNode = currNode.next;

        currNode.next = prevNode ; 
        prevNode = currNode ; 

        //set tempNode to currNode
        currNode = tempNode ; 
    }
    head = prevNode;
    // making last element as our new head
    return head ;  
    // returning new head
}
Pan
  • 2,101
  • 3
  • 13
  • 17