单链表经典OJ题

目录

​编辑

题目:

一、移除链表元素:

本质:

解题思路:

本题分为两种解法:

我们使用解法二:

注意事项:

完整代码:


题目:

一、移除链表元素:

本质:

移除元素就是先找到该元素所在的位置,然后将该元素所在节点的指向下一个节点赋给该元素所在的节点位置的前一个节点。

解题思路:

本题分为两种解法:
  • ++解法一是直接在原链表上进行删除++
  • ++解法二是设立一个新的链表,然后通过查找的方式对链表进行遍历,然后如果是不需要删除的节点,那么我们将其进行尾插 ,尾插到我们创建的新链表上++

我们使用解法二:

  1. 创立两个指针,分别是头指针和尾指针
  2. 头指针是为了最后方便打印所以保持不变,尾指针是进行尾插的操作。
  3. 然后让原链表开始遍历,不是要删除的节点,进行尾插,插入新的链表中
  4. 这个插入新链表也就是将原链表节点内部的指向改成新链表的

注意事项:

注意当第一个节点到新链表后,头指针和尾指针是同时指向第一个节点的,但是之后就只有尾节点开始移动 。

完整代码:

  • head是旧指针的火车头内部指向的第一个节点位置
  • val是节点存储的数据
  • 最后需要将新链表的最后指向置空
  • newHead头指针 newTail 尾指针
相关推荐
苏小瀚5 小时前
[数据结构] ArrayList(顺序表)与LinkedList(链表)
数据结构
房开民7 小时前
使用海康机器人相机SDK实现基本参数配置(C语言示例)
c语言·数码相机·机器人
Tina表姐9 小时前
(C题|NIPT 的时点选择与胎儿的异常判定)2025年高教杯全国大学生数学建模国赛解题思路|完整代码论文集合
c语言·开发语言·数学建模
Kevinhbr9 小时前
CSP-J/S IS COMING
数据结构·c++·算法
Armyyyyy丶9 小时前
Redis底层实现原理之五大基础结构
数据结构·redis·缓存
金古圣人10 小时前
hot100 滑动窗口
数据结构·c++·算法·leetcode·哈希算法
JJJJ_iii10 小时前
【左程云算法03】对数器&算法和数据结构大致分类
数据结构·算法·分类
高山有多高10 小时前
详解文件操作
c语言·开发语言·数据库·c++·算法
天选之女wow13 小时前
【代码随想录算法训练营——Day4】链表——24.两两交换链表中的节点、19.删除链表的倒数第N个节点、面试题02.07.链表相交、142.环形链表II
数据结构·算法·leetcode·链表
胡萝卜3.013 小时前
数据结构初阶:树的相关性质总结
数据结构·二叉树·性质·二叉树的性质