题解 | #删除链表的节点# 同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; } };