目录
- 1.解题思路
- 2.代码实现
1.解题思路
利用快慢指针,如果快指针此时的值为val则将此时满指针的next指向快指针的next利用循环,其次,要特意判断链表的头部为val的情况以及链表为空的情况.
2.代码实现
struct ListNode* removeElements(struct ListNode* head, int val)
{ if(head==NULL)return NULL;while(head&&head->val==val)
{head=head->next;}struct ListNode*p=head;struct ListNode*prev=NULL;while(p){if(p->val!=val){ prev=p;p=p->next;}else{prev->next=p->next;p=p->next;}}return head;}
结尾:今天的分享到此结束,喜欢的朋友如果感觉有帮助可以点赞三连支持,咱们共同进步!