203. 移除链表元素 #链表 2024-09-23 1234567891011121314151617181920class Solution {public: ListNode* removeElements(ListNode* head, int val) { ListNode* virtualHead = new ListNode(-1); // 虚拟头结点 virtualHead->next = head; ListNode* prev = virtualHead; while(head){ if(head->val == val){ prev->next = head->next; }else{ prev = prev->next; } head = head->next; } return virtualHead->next; }};复制代码 既然删除,那就要得到删除节点的前一个节点。 如果删除的节点是第一个节点,怎么办?看来需要虚拟头结点。