K12教育赛事综合服务平台
聚乐之家官方网站
下载聚乐之家官方App
专注青少年竞赛题库网站
已知单链表的节点结构体定义如下:
struct ListNode { int val; ListNode *next; ListNode(int x) : val(x), next(nullptr) {} };
现有一个非空单链表,头指针为head,下列关于单链表节点删除的说法正确的是?
head
如果要删除值为target的头节点,仅需将head指针置为nullptr即可
nullptr
若已知要删除的节点指针p且p不是尾节点,可以将p->next的节点值复制到p中,再删除p->next节点,该操作无需遍历链表寻找前驱节点,时间复杂度为O(1)
删除单链表的任意节点都无需手动释放被删除节点的内存,C++会自动管理堆内存
遍历链表找到值为target的节点后,直接修改该节点的next指针即可完成删除操作
next