删除链表中的节点
Posted inception6-lxc
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了删除链表中的节点相关的知识,希望对你有一定的参考价值。
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; } };
以上是关于删除链表中的节点的主要内容,如果未能解决你的问题,请参考以下文章
剑指Offer-代码的完整性面试题18.2:删除链表中的重复节点
代码随想录算法训练营第四天 | 24.两两交换链表中的节点19.删除链表的倒数第N个节点160.相交链表142.环形链表II