1.删除链表中等于给定值 val 的所有节点。
class Solution { public: ListNode* removeElements(ListNode* head, int val) { ListNode*newHead=new ListNode(-1); ListNode*pre=newHead; pre->next=head; while(pre->next!=NULL){ ListNode*cur=pre->next; if(cur->val==val){ pre->next=cur->next; } else{ pre=pre->next; } } return newHead->next; } };
2.输入参数只有待删除节点。
class Solution { public: void deleteNode(ListNode* node) { node->val=node->next->val; node->next=node->next->next; } };