反转双向链表,但无限循环

问题描述

我尝试过反转双向链表,这是我的反转代码!为什么我要无限循环?

public void reverselist() {
    
    Doubly_node temp = head;
    
    while(temp.next != null) {
        
        temp = temp.next;
    }
    
    
    
    while(temp.prev != null) {
        System.out.println(temp.data);
        temp= temp.prev;
    }
    
}

enter link description here

解决方法

你只想遍历或反向双向链表? 检查下面

    {
        Doubly_node curr = head;
        Doubly_node t = null;

        while (curr != null) {
            t = curr.prev;
            curr.prev = curr.next;
            curr.next = t;
            curr = curr.prev;
        }
        if (t != null) {
            head = t.prev;
        }
    }