当前位置:首页 > 编程笔记 > 正文
已解决

力扣 203.移除链表元素第二种解法

来自网友在路上 188888提问 提问时间:2023-11-05 17:54:03阅读次数: 88

最佳答案 问答题库888位专家为你答疑解惑

目录

  • 1.解题思路
  • 2.代码实现

1.解题思路

利用双指针,开辟一个新的头结点并依次向头结点尾插不为val的结点如果遇到值为val的结点就跳过并释放掉

2.代码实现

struct ListNode* removeElements(struct ListNode* head, int val)
{  if(head==NULL)return NULL;struct ListNode* newhead=NULL;struct ListNode*tail=NULL;struct ListNode* cur=head;while(cur){if(cur->val==val){struct ListNode*ps=cur;cur=cur->next; free(ps); ps=NULL;}
else
{if(tail==NULL){newhead=cur;tail=cur;}else{tail->next=cur;tail=tail->next;}cur=cur->next;
}}if(tail!=NULL)
tail->next=NULL;
return newhead;}

结尾:今天的分享到此结束,喜欢的朋友如果感觉有帮助可以点赞三连支持,咱们共同进步!

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"力扣 203.移除链表元素第二种解法":http://eshow365.cn/6-32909-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!