中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

java單鏈表反轉代碼怎么寫

小億
83
2023-12-20 13:28:13
欄目: 編程語言

以下是一個示例的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方法來打印反轉后的鏈表。

0
岳普湖县| 深泽县| 梨树县| 来凤县| 遂川县| 延川县| 长沙县| 凯里市| 东光县| 无为县| 会理县| 疏附县| 青阳县| 日照市| 荆门市| 富顺县| 错那县| 綦江县| 永平县| 台山市| 孟州市| 崇明县| 汾西县| 永昌县| 出国| 子洲县| 惠来县| 卢氏县| 辽中县| 宜兰市| 梁山县| 图片| 颍上县| 武清区| 渑池县| 库车县| 韶山市| 博湖县| 桦甸市| 茌平县| 通城县|