leetcode203移除链表元素

给你一个链表的头节点 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

输出:[]

解题代码:

java 复制代码
/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode() {}
 *     ListNode(int val) { this.val = val; }
 *     ListNode(int val, ListNode next) { this.val = val; this.next = next; }
 * }
 */
class Solution {
    public ListNode removeElements(ListNode head, int val) {
        ListNode dummyHead = new ListNode(-1);
        dummyHead.next = head;
        ListNode prev = dummyHead;
        while (prev.next != null) {
            if (prev.next.val == val) {
                prev.next = prev.next.next;
            } else {
                prev = prev.next;
            }
        }
        return dummyHead.next;
    }
}

执行结果

相关推荐
踢足球09292 小时前
寒假打卡:2026-2-24
数据结构·算法·leetcode
牛马大师兄2 小时前
数据结构复习 | 循环链表
c语言·数据结构·c++·笔记·链表
有为少年2 小时前
位翻转排列 (Bit-Reversal Permutation) 解析
数据结构·人工智能·深度学习·算法·机器学习·计算机视觉
王老师青少年编程2 小时前
csp信奥赛C++之约数研究
数据结构·c++·数学·算法·csp·信奥赛·约数研究
tobias.b2 小时前
408真题解析-2010-41-数据结构-散列表
数据结构·散列表·计算机考研·408真题解析
Eternity∞2 小时前
数据结构基础
c语言·开发语言·数据结构·学习·vim
今儿敲了吗2 小时前
32| 伐木
数据结构·笔记·学习·算法
网小鱼的学习笔记2 小时前
leetcode24: 两两交换链表中的节点
数据结构·链表
样例过了就是过了3 小时前
LeetCode热题100 环形链表
算法·leetcode·链表