算法第十天:leetcode203.移除链表元素

一、203.移除链表元素题目描述

  203.移除链表元素的链接如下所示,您可复制下面链接网址进入力扣学习,看题解之前一定要先做一遍哦!

https://leetcode.cn/problems/remove-linked-list-elements/description/icon-default.png?t=N7T8https://leetcode.cn/problems/remove-linked-list-elements/description/

  给你一个链表的头节点 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
输出:[]

提示:

  • 列表中的节点数目在范围 [0, 104] 内
  • 1 <= Node.val <= 50
  • 0 <= val <= 50

二、Java版的示例代码

  这题可直接用单链表的算法来实现,具体代码如下:

class Solution {
    public ListNode removeElements(ListNode head, int val) {
        while(head!=null&&head.val==val){
            head=head.next;
        }
        ListNode curr=head;
        while(curr!=null){
            while(curr.next!=null&&curr.next.val==val){
                curr.next=curr.next.next;
            }
            curr=curr.next;
        }
        return head;
    }
}

三、具体思路

  本题主要讲解单链表的算法思路,下面为本题思路的3个步骤:

  • 首先判断要删除的元素是否是头节点,还要判断头结点不为空。如果这个头结点为空,相当于是操作空指针,那么编译就会报错。同时头节点所指向的数值等于目标值。然后把头结点指向这个头节点的下一个。
  • 定义一个指针curr,让它指向head。然后进入while循环,判断curr和curr.next不为空,curr.next的值等于val,让curr.next指向curr.next.next。
  • 最后别忘了不等于的情况,我们就让curr指向curr.next。然后返回head。

  最后,感谢各位读者的阅读与支持,您的支持是我前进的动力!我希望我的博文能够带给您有用的算法知识和启发。希望本题对大家有帮助,谢谢各位读者的支持!!!

相关推荐

  1. LeetCode203. 元素

    2024-07-18 23:46:04       52 阅读
  2. leetcode203. 元素

    2024-07-18 23:46:04       55 阅读
  3. Leetcode 203 元素

    2024-07-18 23:46:04       58 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-18 23:46:04       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-18 23:46:04       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-18 23:46:04       58 阅读
  4. Python语言-面向对象

    2024-07-18 23:46:04       69 阅读

热门阅读

  1. SQL FOREIGN KEY

    2024-07-18 23:46:04       19 阅读
  2. MySQL——在查询中使用关键字

    2024-07-18 23:46:04       21 阅读
  3. 确定Python 数据的数据结构

    2024-07-18 23:46:04       23 阅读
  4. 深入了解Memcached:缓存技术的利器

    2024-07-18 23:46:04       24 阅读
  5. antlr4私人学习笔记

    2024-07-18 23:46:04       19 阅读
  6. python的with语句

    2024-07-18 23:46:04       23 阅读
  7. Context使用

    2024-07-18 23:46:04       22 阅读
  8. 2024年5月份架构师考试案例真题完整版

    2024-07-18 23:46:04       21 阅读
  9. C语言 default 踩坑

    2024-07-18 23:46:04       22 阅读
  10. 使用Python批量压缩图片

    2024-07-18 23:46:04       24 阅读
  11. 快速log10函数 fast_log10

    2024-07-18 23:46:04       21 阅读
  12. Linux 日志管理与系统调优补充

    2024-07-18 23:46:04       24 阅读