java链表反转代码怎么写

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

以下是Java中链表反转的示例代码:

public class ListNode {    int val;    ListNode next;    ListNode(int val) {        this.val = val;    }}public class LinkedListReverse {    public static ListNode reverseList(ListNode head) {        ListNode prev = null;        ListNode current = head;        ListNode next = null;        while (current != null) {            next = current.next;            current.next = prev;            prev = current;            current = next;        }        return prev;    }    public static void main(String[] args) {        ListNode head = new ListNode(1);        head.next = new ListNode(2);        head.next.next = new ListNode(3);        head.next.next.next = new ListNode(4);        head.next.next.next.next = new ListNode(5);        ListNode reversedHead = reverseList(head);        System.out.print("Reversed List: ");        while (reversedHead != null) {            System.out.print(reversedHead.val + " ");            reversedHead = reversedHead.next;        }    }}

运行以上代码,将会输出反转后的链表:

Reversed List: 5 4 3 2 1

在反转链表的代码中,我们使用了三个指针prev、current和next。初始时,prev为null,current为头节点head,next为null。在每一次循环中,我们将current的next指针指向prev,然后依次向后移动prev、current和next指针。最终,prev指针将指向反转后的链表头节点,我们将其返回即可。

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