- 画图。在链表环节画图是很重要的,可以达到直观 + 形象 + 便于我们理解的效果。
- 引入哨兵头节点。
- 便于处理边界情况
- 方便我们对链表的操作
- 不要吝啬空间,大胆去定义变量,不要为了省那几个字节的空间而让自己乱套。
- 快慢双指针。这个技巧非常好用,比如判环、找链表环的入口、找链表倒数第
n个节点等等。
常用操作
- 创建一个新节点
- 尾插
- 头插
- 头插操作常常配合哨兵头节点使用,可以在一些题目比如逆序链表中快速解决问题!
n 个节点等等。OR36 链表的回文结构 较难 通过率:30.09% 时间限制:3秒 空间限制:32M 对于一个链表,请设计一个时间复杂度为O(n),额外空间复杂度为O(1)的算法,判断其是否为回文结构。 给定一个链表的头指针A,请返回一个bool值,代表其是否为回文结构。保证链表长度小于等于900。 测试样例: 根据回文对称的特点,先找到中间节点,可以运用快慢指针的方法找到中间节点。 然后将中间结点后面的结...
难度中等140 给定两个用链表表示的整数,每个节点包含一个数位。 这些数位是反向存放的,也就是个位排在链表首部。 编写函数对这两个整数求和,并用链表形式返回结果。 进阶:思考一下,假设这些数位是正向存放的,又该如何解决呢? 思路: 这道题与数组求和以及字符串求和类似,都是用每一位相加还有加上进位求得结果赋给一个新的链表 tmp,直到两个链表都遍历完。但记得最后判断是否还有多的一个进位需要加上。 题...
NC21 链表内指定区间反转 https://www.nowcoder.com/ta/jobcodehighweek?tag580) 将一个节点<font color'red'数为 size 链表 m 位置</font到<font color'green' n 位置之间的区间反转,要求时</font间复杂度 O(n),空间复杂度 O(1)。 例如: 给出的链表为 1→ 2→ 3 → 4→ 5 → ...
暂无评论,来说两句吧
↓ 分享你的观点