📅  最后修改于: 2023-12-03 14:50:32.914000             🧑  作者: Mango
反向链表是将普通单向链表倒过来,使得原来的尾结点变成头结点,头结点变成尾结点。在反向链表中,每个结点的指针都指向其前驱结点。
下面是一个简单的Java程序,用于实现反向链表:
class ListNode {
int val;
ListNode next;
ListNode(int x) { val = x; }
}
public class ReverseLinkedList {
public ListNode reverseList(ListNode head) {
ListNode prev = null;
ListNode curr = head;
while (curr != null) {
ListNode nextTemp = curr.next;
curr.next = prev;
prev = curr;
curr = nextTemp;
}
return prev;
}
}
在反向链表中,我们首先需要将头结点的指针指向null,因为它将是新链表的尾结点。接着,我们需要用一个指针指向当前结点,并将当前结点的指针指向其前驱结点。最后,我们将前驱结点指针指向当前结点。重复这个过程直到当前结点为空。
反向链表实现反向操作非常实用,因为它能够简单快速地实现链表中的反向操作。在Java程序中,我们可以遍历链表中的每个结点,并将其指针指向前驱结点。