溫馨提示×

java listnode怎樣使用

小樊
81
2024-11-20 16:28:00
欄目: 編程語言

ListNode 是鏈表數(shù)據(jù)結(jié)構(gòu)中的一個節(jié)點類,通常用于表示鏈表中的一個元素。在 Java 中,你可以創(chuàng)建一個名為 ListNode 的類,如下所示:

public class ListNode {
    int val; // 節(jié)點的值
    ListNode next; // 指向下一個節(jié)點的指針

    // 構(gòu)造方法
    public ListNode(int val) {
        this.val = val;
        this.next = null;
    }
}

要使用 ListNode 類,你可以創(chuàng)建一個鏈表并對其進行操作,例如添加元素、刪除元素、查找元素等。以下是一些示例:

public class Main {
    public static void main(String[] args) {
        // 創(chuàng)建鏈表 1 -> 2 -> 3 -> 4 -> 5
        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);

        // 打印鏈表
        System.out.println("鏈表:");
        printList(head);

        // 添加元素 0 到鏈表頭部
        head = addElement(head, 0);
        System.out.println("添加元素 0 后的鏈表:");
        printList(head);

        // 刪除元素 3
        head = deleteElement(head, 3);
        System.out.println("刪除元素 3 后的鏈表:");
        printList(head);

        // 查找值為 4 的節(jié)點
        ListNode node = findElement(head, 4);
        if (node != null) {
            System.out.println("找到值為 4 的節(jié)點,值為:" + node.val);
        } else {
            System.out.println("未找到值為 4 的節(jié)點");
        }
    }

    // 在鏈表頭部添加元素
    public static ListNode addElement(ListNode head, int val) {
        ListNode newNode = new ListNode(val);
        newNode.next = head;
        return newNode;
    }

    // 刪除鏈表中指定值的節(jié)點
    public static ListNode deleteElement(ListNode head, int val) {
        if (head == null) {
            return null;
        }

        if (head.val == val) {
            return head.next;
        }

        ListNode current = head;
        while (current.next != null && current.next.val != val) {
            current = current.next;
        }

        if (current.next != null) {
            current.next = current.next.next;
        }

        return head;
    }

    // 打印鏈表
    public static void printList(ListNode head) {
        ListNode current = head;
        while (current != null) {
            System.out.print(current.val + " -> ");
            current = current.next;
        }
        System.out.println("null");
    }

    // 查找鏈表中指定值的節(jié)點
    public static ListNode findElement(ListNode head, int val) {
        ListNode current = head;
        while (current != null) {
            if (current.val == val) {
                return current;
            }
            current = current.next;
        }
        return null;
    }
}

這個示例展示了如何創(chuàng)建一個鏈表,對其進行操作(如添加、刪除和查找元素),并打印鏈表。你可以根據(jù)需要修改和擴展這個示例。

0