【Java 数据结构】移除链表元素
🔥博客主页🔥:【 坊钰_CSDN博客 】
欢迎各位点赞👍评论✍收藏⭐
目录
1. 题目
2. 解析
3. 代码实现
4. 小结
题目出处:203. 移除链表元素 - 力扣(LeetCode)
1. 题目
给你一个链表的头节点 head
和一个整数 val
,请你删除链表中所有满足 Node.val == val
的节点,并返回 新的头节点 。
示例 1:
输入:head = [1,2,6,3,4,5,6], val = 6 输出:[1,2,3,4,5]示例 2:
输入:head = [], val = 1 输出:[]示例 3:
输入:head = [7,7,7,7], val = 7 输出:[]
2. 解析
- 先创建一个前头部节点,用来存放头节点,便于后续遍历和删除
- 用 dehead != null 的条件来依次遍历链表,遇到要删除的值,进行删除操作
- 最后返回头部节点,也就是 dehead.next 即可
3. 代码实现
class Solution {
public ListNode removeElements(ListNode head, int val) {
ListNode dehead = new ListNode(0);
dehead.next = head;
ListNode ret = dehead;
while (ret.next != null) {
if (ret.next.val == val) {
ret.next = ret.next.next;
} else {
ret = ret.next;
}
}
return dehead.next;
}
}
4. 小结
以上就是对该题的了解,具体还需宝子们去实践,如果觉得该博客对你有用的话,希望一键三连,点个关注不迷路,谢谢支持