91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

java單鏈表怎么刪除某個節點

小億
91
2024-01-27 14:25:55
欄目: 編程語言

要刪除單鏈表中的某個節點,可以按照以下步驟進行操作:

  1. 首先判斷要刪除的節點是否是頭節點。如果是頭節點,直接將頭指針指向下一個節點即可。
  2. 如果要刪除的節點不是頭節點,需要先找到要刪除節點的前一個節點。
  3. 將前一個節點的next指針指向要刪除節點的下一個節點,跳過要刪除的節點。
  4. 釋放要刪除的節點的內存空間,完成刪除操作。

以下是一個示例代碼:

public class ListNode {
    int val;
    ListNode next;
    ListNode(int x) { val = x; }
}

public class LinkedList {
    private ListNode head;

    public void deleteNode(int val) {
        ListNode current = head;
        ListNode previous = null;

        // 遍歷鏈表找到要刪除的節點和其前一個節點
        while (current != null && current.val != val) {
            previous = current;
            current = current.next;
        }

        // 要刪除的節點是頭節點
        if (current == head) {
            head = head.next;
        }
        // 要刪除的節點不是頭節點
        else {
            previous.next = current.next;
        }

        // 釋放要刪除的節點的內存空間
        current = null;
    }
}

使用示例:

public class Main {
    public static void main(String[] args) {
        LinkedList list = new LinkedList();

        // 添加節點
        list.head = new ListNode(1);
        ListNode second = new ListNode(2);
        ListNode third = new ListNode(3);
        list.head.next = second;
        second.next = third;

        // 刪除節點
        list.deleteNode(2);

        // 打印鏈表
        ListNode current = list.head;
        while (current != null) {
            System.out.print(current.val + " ");
            current = current.next;
        }
    }
}

輸出結果為:1 3,表示成功刪除了值為2的節點。

0
自贡市| 平果县| 内江市| 汉寿县| 庆云县| 内丘县| 鹿邑县| 和顺县| 桐柏县| 武威市| 来安县| 万盛区| 玛多县| 舟山市| 大悟县| 资中县| 兴安县| 余庆县| 马关县| 岳阳市| 蓬莱市| 东海县| 吉林省| 潞城市| 镇宁| 册亨县| 瑞昌市| 柏乡县| 兴海县| 资中县| 大名县| 察隅县| 大安市| 北京市| 南江县| 宁河县| 万年县| 玉林市| 岐山县| 汉中市| 仁怀市|