第29020题 单选题
下列关于C++单链表节点删除的操作描述中,正确的是?

已知单链表节点结构体定义为:

struct ListNode {
    int val;
    ListNode *next;
    ListNode(int x) : val(x), next(nullptr) {}
};

现有一个非空单链表,下列说法正确的是:

A

若要删除头节点,只需执行head = head->next;即可,无需释放内存

B

若要删除指针p指向的任意节点,都可以通过将p->next节点的值复制到p中,再删除p->next来实现

C

若要删除值为val的第一个节点,正确的流程是先遍历找到目标节点,再处理其前驱节点的指针并释放目标节点内存

D

删除链表节点时无需释放内存,不会造成内存泄漏

程序运行统计
暂无判题统计
提交0次 正确率0.00%
答案解析