public class Reverse {
public static void printLL(Node head) {
while(head!=null){
System.out.print(head.getData()+"-->");
head=head.next;
}
}
public static Node reverseLL(Node head){
if(head == null) {
return head;
}
return reverseLL(head.next);
}
public static void main(String[] args) {
Node first=new Node(10);
Node head=first;
Node second=new Node(20);
first.next=second;
Node third=new Node(30);
second.next=third;
Node fourth=new Node(40);
third.next=fourth;
printLL(head);
System.out.println("\nReverse of Linked List is \n");
head=reverseLL(head);
printLL(head);
}
}
Hier ist mein Code. Es druckt nichts.Rekursive verknüpfte Liste. Was mache ich falsch?
Ich denke, dass aufgrund der Rekursion auf den Nullzeiger zeigt und daher keine Daten an der Nullposition vorhanden sind.
Bitte sagen Sie mir, was ich tun kann, um den Code korrekt zu machen.
Vielen Dank im Voraus
Gibt es einen Stack-Trace? –
Ich weiß nicht über die Stack-Trace. – iVvaibhav
Wie genau soll die Methode 'reverseLL' die verknüpfte Liste umkehren? Von dem was ich sehe - es gibt immer null zurück.Sie müssen tatsächlich eine neue verkettete Liste erstellen (da sie unidirektional ist), damit sie funktioniert. – bezmax