题解 | #删除链表的节点# 同JZ76的思路
删除链表的节点
https://www.nowcoder.com/practice/f9f78ca89ad643c99701a7142bd59f5d
class Solution {
public:
ListNode* deleteNode(ListNode* head, int val) {
if(head == nullptr) return nullptr;
// 创建一个虚拟头节点
ListNode* dummy = new ListNode(0);
dummy->next = head;
ListNode* pCurr = head;
ListNode* pPrev = dummy;
while(pCurr->next != nullptr && pCurr != nullptr){
if(pCurr->val == val){
pPrev->next = pCurr->next;
pCurr = pPrev->next;
}
else{
pCurr = pCurr->next;
pPrev = pPrev->next;
}
}
// 返回新的头节点
ListNode* newHead = dummy->next;
return newHead;
}
};
传音控股公司福利 356人发布
