已知单链表的非尾节点指针p(无法访问链表头节点),以下哪种C++代码可以正确删除该节点?

sb373814 单选题 共 个子题

已知单链表的节点定义如下:

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

现需要删除指针p指向的非尾节点,且无法获取该节点的前驱节点,下列哪个代码实现是正确的?

A
delete p;
B
p->next = p->next->next;
delete p;
C
p->val = p->next->val;
ListNode* temp = p->next;
p->next = temp->next;
delete temp;
D
ListNode* temp = p;
while(temp->next != nullptr) {
    temp->val = temp->next->val;
    temp = temp->next;
}
delete temp;
正在加载题目数据…
已答 /
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析
讨论
发布
登录后参与讨论 立即登录
发布讨论需先绑定并验证手机号 去绑定手机号
加载中…
我
我
回复 @
回复 @
发送
还没有人讨论,来发表第一条吧