#3520. [GESP202509 五级 C++] 第 2 题
[GESP202509 五级 C++] 第 2 题
函数 removeElements 删除单链表中所有结点值等于 val 的结点,并返回新的头结点。其中链表头结点为 head,则横线处填写( )。
// 结点结构体
struct Node {
int val;
Node* next;
Node() : val(0), next(nullptr) {}
Node(int x) : val(x), next(nullptr) {}
Node(int x, Node *next) : val(x), next(next) {}
};
Node* removeElements(Node* head, int val) {
Node dummy(0, head); // 哨结点,统一处理头结点
Node* cur = &dummy;
while (cur->next) {
if (cur->next->val == val) {
______________________ // 在此填入代码
}
else {
cur = cur->next;
}
}
return dummy.next;
}
{{ select(1) }}
Node* del = cur;cur = del->next;delete del;Node* del = cur->next;cur->next = del;delete del;Node* del = cur->next;cur->next = del->next;delete del;Node* del = cur->next;delete del;cur->next = del->next;