大厂算法题目-单链表删除数字

简介: 大厂算法题目-单链表删除数字

题目描述

给你一个单链表和一个数字,你要删除节点上数字等于给定数字的那些节点,然后返回删除节点后的单链表。

比如说,给定的单链表是:

1 → 2 → 4 → 1 → 8 → 1

要删除的数字是1。那么删除1后,返回的单链表是:

2 → 4 → 8

思路

  1. 先定义一个单链表
  2. 定义一个虚拟节点dummy,指向单链表的头节点
  3. 再定义一个移动指针节点p,逐步移动指针节点p,与给定的数字进行比较
  4. 如果给定的数字与节点p的数字相同,则断开此节点(即p.next = p.next.next);如果不相同,则继续移动指针p(即p = p.next)

WechatIMG2334

Java代码实现

private LinkedNode delNumInLinkedNode3(LinkedNode linkedNode, int num) {
  //定义虚拟节点,指向链表头部
  LinkedNode dummy = new LinkedNode(0);
  dummy.next = linkedNode;
  //定义移动节点p,凡是这种需要逐个比对的,一般都需要定义移动指针
  LinkedNode p = dummy;

  //逐个比对
  while (p.next != null) {
    //如果节点的数字 跟 给定的数字相同,则断开此节点
    if (p.next.value == num) {
      p.next = p.next.next;
    }
    //如果不相同,则继续移动指针
    else {
      p = p.next;
    }
  }

  return dummy.next;
}

完整代码地址:https://gitee.com/yclxiao/specialty/blob/master/javacore/src/main/java/com/ycl/javacore/algorithm/AlgoCasts48.java

本篇完结!感谢你的阅读,欢迎点赞 关注 收藏 私信!!!

原文链接: http://www.mangod.top/articles/2023/08/26/1693008022363.htmlhttps://mp.weixin.qq.com/s/s-PStqs_7elrm5k_53Q6UQ

相关文章
|
1月前
|
算法 程序员 索引
数据结构与算法学习七:栈、数组模拟栈、单链表模拟栈、栈应用实例 实现 综合计算器
栈的基本概念、应用场景以及如何使用数组和单链表模拟栈,并展示了如何利用栈和中缀表达式实现一个综合计算器。
31 1
数据结构与算法学习七:栈、数组模拟栈、单链表模拟栈、栈应用实例 实现 综合计算器
|
3月前
|
算法 Java
LeetCode经典算法题:矩阵中省份数量经典题目+三角形最大周长java多种解法详解
LeetCode经典算法题:矩阵中省份数量经典题目+三角形最大周长java多种解法详解
52 6
|
3月前
|
算法 索引
【初阶数据结构篇】单链表算法题进阶
深拷贝应该正好由 n 个全新节点组成,其中每个新节点的值都设为其对应的原节点的值。
26 0
|
5月前
|
算法
【经典LeetCode算法题目专栏分类】【第10期】排序问题、股票问题与TOP K问题:翻转对、买卖股票最佳时机、数组中第K个最大/最小元素
【经典LeetCode算法题目专栏分类】【第10期】排序问题、股票问题与TOP K问题:翻转对、买卖股票最佳时机、数组中第K个最大/最小元素
|
5月前
|
算法 程序员 数据处理
【数据结构与算法】使用单链表实现队列:原理、步骤与应用
【数据结构与算法】使用单链表实现队列:原理、步骤与应用
|
5月前
|
算法 C语言
【数据结构与算法 经典例题】返回单链表的倒数第 k 个节点
【数据结构与算法 经典例题】返回单链表的倒数第 k 个节点
|
5月前
|
存储 算法 C语言
【数据结构与算法】深入理解 单链表
【数据结构与算法】深入理解 单链表
|
5月前
|
人工智能 算法 搜索推荐
蓝桥杯宝藏排序题目算法(冒泡、选择、插入)
以下是内容的摘要: 本文介绍了三种排序算法:冒泡排序、选择排序和插入排序。冒泡排序通过不断交换相邻的逆序元素逐步排序,最坏情况下需要 O(n^2) 次比较。选择排序在每轮中找到剩余部分的最小元素并放到已排序序列的末尾,同样具有 O(n^2) 时间复杂度。插入排序则是将每个元素插入到已排序序列的正确位置,时间复杂度也是 O(n^2),但空间复杂度为 O(1)。
|
5月前
|
算法
【经典LeetCode算法题目专栏分类】【第11期】递归问题:字母大小写全排列、括号生成
【经典LeetCode算法题目专栏分类】【第11期】递归问题:字母大小写全排列、括号生成
下一篇
无影云桌面