god请看
临时指针变量temp
ListNode* removeElements(ListNode* head, int val) {
if(head == nullptr){
return head;
}
ListNode* p = head, *temp = nullptr;
while(p->next != nullptr){
if(p->next->val == val){
temp = p->next;
p->next = p->next->next;
delete temp;
temp = nullptr;
}else{
p = p->next;
}
}
if(head->val == val){
temp = head;
head = head->next;
delete temp;
temp = nullptr;
}
return head;
}
从你的代码上看,temp赋值为nullptr没有什么实际的意思。但是这是个好习惯,当指针失效后,应该立即把指针置空,避免后续的程序使用,导致出现野指针等问题
没必要,纯属做无用功