算法题:移除链表元素

给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。

思路

        处理头结点的特殊情况:

                例如head[7,7,7,7]val=7

                如果头节点的值等于 val,需要将其移除。由于可能有连续多个头节点值等于 val,需要用循环来处理。

                遍历链表删除符合的节点:

                使用一个指针(例如 current)遍历链表。

                如果当前节点的下一个节点的值等于 val,则将当前节点的 next 指针指向下一个节点的下一个节点,从而跳过该节点。

                返回新的头节点

                在完成删除操作后,返回更新后的头节点。

                算法题:移除链表元素_第1张图片

                

        

你可能感兴趣的:(算法,链表,数据结构)