leetcode算法203.移除链表元素

简介: 当给你一个链表的头节点 head 和一个整数 val时 ,如何删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 ?本文带大家解决这个问题。

一、leetcode算法



1、移除链表元素


1.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

输出:[]


1.2、思路


思路一:此题我们使用迭代的方式解决,我们首先判断头结点下一个节点的值是否等于给定的值,如果等于,那么头结点指向下下个节点,也就是head.next = head.next.next;这样就把中间的节点去掉了。


同事头结点也有可以是指定的值,所有要用一个其他节点来指向头结点。


1.3、答案


2.png


class Solution {
    public ListNode removeElements(ListNode head, int val) {
      ListNode dHead = new ListNode(0);
      dHead.next = head;
      ListNode temp = dHead;
      while(temp.next != null){
          if(temp.next.val == val){
              temp.next = temp.next.next;
          }else{
              temp = temp.next;
          }
      }
      return dHead.next;
    }
}


复杂度分析


时间复杂度:O(n),其中 n 是链表的长度。需要遍历链表一次。


空间复杂度:O(1)。


相关文章
|
4月前
【力扣】-- 移除链表元素
【力扣】-- 移除链表元素
51 1
|
14天前
|
存储 机器学习/深度学习 算法
C 408—《数据结构》算法题基础篇—链表(下)
408考研——《数据结构》算法题基础篇之链表(下)。
76 29
|
4月前
|
存储 算法 Java
解析HashSet的工作原理,揭示Set如何利用哈希算法和equals()方法确保元素唯一性,并通过示例代码展示了其“无重复”特性的具体应用
在Java中,Set接口以其独特的“无重复”特性脱颖而出。本文通过解析HashSet的工作原理,揭示Set如何利用哈希算法和equals()方法确保元素唯一性,并通过示例代码展示了其“无重复”特性的具体应用。
85 3
|
14天前
|
存储 算法 C语言
C 408—《数据结构》算法题基础篇—链表(上)
408考研——《数据结构》算法题基础篇之链表(上)。
72 25
|
4月前
|
算法
【❤️算法笔记❤️】-每日一刷-19、删除链表的倒数第 N个结点
【❤️算法笔记❤️】-每日一刷-19、删除链表的倒数第 N个结点
93 1
|
4月前
|
算法 索引
❤️算法笔记❤️-(每日一刷-141、环形链表)
❤️算法笔记❤️-(每日一刷-141、环形链表)
70 0
|
4月前
|
算法
【❤️算法笔记❤️】-(每日一刷-876、单链表的中点)
【❤️算法笔记❤️】-(每日一刷-876、单链表的中点)
72 0
|
4月前
|
算法
【❤️算法笔记❤️】-每日一刷-23、合并 K 个升序链表
【❤️算法笔记❤️】-每日一刷-23、合并 K 个升序链表
48 0
|
3月前
|
存储 算法 Java
leetcode算法题-有效的括号(简单)
【11月更文挑战第5天】本文介绍了 LeetCode 上“有效的括号”这道题的解法。题目要求判断一个只包含括号字符的字符串是否有效。有效字符串需满足左括号必须用相同类型的右括号闭合,并且左括号必须以正确的顺序闭合。解题思路是使用栈数据结构,遍历字符串时将左括号压入栈中,遇到右括号时检查栈顶元素是否匹配。最后根据栈是否为空来判断字符串中的括号是否有效。示例代码包括 Python 和 Java 版本。
|
3月前
|
算法 安全 搜索推荐
2024重生之回溯数据结构与算法系列学习之单双链表精题详解(9)【无论是王道考研人还是IKUN都能包会的;不然别给我家鸽鸽丢脸好嘛?】
数据结构王道第2.3章之IKUN和I原达人之数据结构与算法系列学习x单双链表精题详解、数据结构、C++、排序算法、java、动态规划你个小黑子;这都学不会;能不能不要给我家鸽鸽丢脸啊~除了会黑我家鸽鸽还会干嘛?!!!

热门文章

最新文章