第20661题 单选
使用哑结点统一删除单向链表中所有值为x的结点,代码横线处应填入哪项?

下面函数用“哑结点”统一处理删除单向链表中的头结点与中间结点。横线处应填( )。

struct Node{
  int val;
  Node* next;
  Node(int v):val(v),next(nullptr){}
};

Node* eraseAll(Node* head, int x){
  Node dummy(0);
  dummy.next = head;
  Node* cur = &dummy;
  while(cur->next){
    if(cur->next->val == x){
      Node* del = cur->next;
      ______________________
      delete del;
    }else cur = cur->next;
  }
  return dummy.next;
}
A
cur = cur->next;
B
cur->next = del->next;
C
del->next = cur->next;
D
cur->next = nullptr;
提交0次 正确率0.00%
答案解析