单链表经典OJ题

目录

​编辑

题目:

一、移除链表元素:

本质:

解题思路:

本题分为两种解法:

我们使用解法二:

注意事项:

完整代码:


题目:

一、移除链表元素:

本质:

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

解题思路:

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

我们使用解法二:

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

注意事项:

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

完整代码:

  • head是旧指针的火车头内部指向的第一个节点位置
  • val是节点存储的数据
  • 最后需要将新链表的最后指向置空
  • newHead头指针 newTail 尾指针
相关推荐
荒古前15 分钟前
龟兔赛跑 PTA
c语言·算法
用户00993831430124 分钟前
代码随想录算法训练营第十三天 | 二叉树part01
数据结构·算法
shinelord明28 分钟前
【再谈设计模式】享元模式~对象共享的优化妙手
开发语言·数据结构·算法·设计模式·软件工程
嵌入式科普1 小时前
十三、从0开始卷出一个新项目之瑞萨RZN2L串口DMA接收不定长
c语言·stm32·瑞萨·e2studio·rzn2l
薄荷故人_1 小时前
从零开始的C++之旅——红黑树及其实现
数据结构·c++
努力学习编程的伍大侠1 小时前
基础排序算法
数据结构·c++·算法
XiaoLeisj2 小时前
【递归,搜索与回溯算法 & 综合练习】深入理解暴搜决策树:递归,搜索与回溯算法综合小专题(二)
数据结构·算法·leetcode·决策树·深度优先·剪枝
小林熬夜学编程2 小时前
【Linux网络编程】第十四弹---构建功能丰富的HTTP服务器:从状态码处理到服务函数扩展
linux·运维·服务器·c语言·网络·c++·http
Jackey_Song_Odd3 小时前
C语言 单向链表反转问题
c语言·数据结构·算法·链表
乐之者v3 小时前
leetCode43.字符串相乘
java·数据结构·算法