簡體   English   中英

從單個鏈接列表中刪除節點

[英]Removing a node from a singly linked list

我寫了一個代碼,應該刪除單鏈表中的節點。 但它根本不起作用,即它打印原始列表而不刪除任何內容。 我做錯了什么 ? 假設列表不為空!

public void removeNode(int data){
        Node current = head;
        Node previous = null;
        while(current != null && current.data != data){
            previous = current;
            current = current.next;
        }
        previous = current.next;
    }

找到節點時,需要將previous.next設置為current.next。

只是嘗試正確設置指針。 喜歡:

public void removeNode(int data) {
    Node current = head;
    Node previous = null;
    while (current != null && current.data != data) {
        previous = current;
        current = current.next;
    }

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM