java单链表反转代码怎么写

   2025-02-13 2190
核心提示:以下是一个示例的Java单链表反转代码:class ListNode {int val;ListNode next;ListNode(int val) {this.val = val;}}public cla

以下是一个示例的Java单链表反转代码:

class ListNode {    int val;    ListNode next;    ListNode(int val) {        this.val = val;    }}public class LinkedListReverse {    public static ListNode reverse(ListNode head) {        if (head == null || head.next == null) {            return head;        }        ListNode prev = null;        ListNode curr = head;        ListNode next = null;        while (curr != null) {            next = curr.next;            curr.next = prev;            prev = curr;            curr = next;        }        return prev;    }    public static void printList(ListNode head) {        ListNode curr = head;        while (curr != null) {            System.out.print(curr.val + " ");            curr = curr.next;        }        System.out.println();    }    public static void main(String[] args) {        ListNode head = new ListNode(1);        ListNode second = new ListNode(2);        ListNode third = new ListNode(3);        ListNode fourth = new ListNode(4);        head.next = second;        second.next = third;        third.next = fourth;        System.out.println("Original List:");        printList(head);        ListNode reversedHead = reverse(head);        System.out.println("Reversed List:");        printList(reversedHead);    }}

这个示例中,我们定义了一个ListNode类来表示链表中的节点。然后在LinkedListReverse类中,我们实现了一个reverse方法来反转链表。反转过程中,我们使用了三个指针prevcurrnext,分别表示当前节点的前一个节点、当前节点和当前节点的下一个节点。我们通过依次修改节点的next指针,使得每个节点指向它的前一个节点,从而实现链表的反转。

main方法中,我们创建了一个简单的链表,并调用reverse方法来反转链表。最后,我们使用printList方法来打印反转后的链表。

 
 
更多>同类维修知识
推荐图文
推荐维修知识
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  网站留言