首页 > 解决方案 > 无法在 C# 中删除单链表的第一个节点

问题描述

我正在尝试在 C# 中实现一个单链表。为了删除一个节点,我编写了以下代码:

public void deleteNode(int value)
    {
        Node node = this;

        if (node.data == value)
        {
            node = node.next;
        }
        else
        {
            while (node != null && node.next != null)
            {
                if (node.next.data == value)
                {
                    node.next = node.next.next;
                }
                node = node.next;
            }
        }
    }

我可以删除所有节点,但第一个使用它。为什么node.next = node.next.next更新实例,但node = node.next不更新?

标签: c#singly-linked-list

解决方案


推荐阅读