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

LeetCode | 203. 移除链表元素

来自网友在路上 186886提问 提问时间:2023-11-04 17:00:30阅读次数: 86

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

LeetCode | 203. 移除链表元素

OJ链接

在这里插入图片描述

  • 这里有两个思路我接下来看
    在这里插入图片描述

  • 当cur不等于6就一直找,找到了6就删除,但是能不能直接删除?不能,直接free了就找不到下一个了

  • 这个时候我们就要定义next指针,和prev指针,next指针保存cur的下一个地址,prev保存cur的前一个地址

代码如下:


struct ListNode* removeElements(struct ListNode* head, int val) {struct ListNode* prev = NULL;struct ListNode* cur=head;while(cur != NULL){if(cur->val == val){struct ListNode* next = cur->next;free(cur);if(prev)prev->next = next;elsehead = next;cur = next;}else{prev = cur;cur = cur->next;}}return head;
}
查看全文

99%的人还看了

猜你感兴趣

版权申明

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