一、链表的实现(写法不唯一,此处多处用二级指针)
二、链表实现总结
1.二级指针存储一级指针
2.改变一级指针需要用到二级指针,本次使用二级指针进行修改
注意写法不唯一,也有不用二级指针写法
3.链表的结构体(节点)内的成员变量可用一级指针访问,若成员变量为指针,则也可用该一级指针访问并修改其指向。
三、链表练习题巩固
1.移除链表元素
法1:两个指针,一个指针负责指向在另一指针指向的前一个元素以方便删除。从原链表的头开始遍历查找val,头删,非头删分开讨论 注意链表中删除元素的具体情况和操作顺序
法2: 用一个新链表,将非val函数尾插到新链表,第一次插入与非第一次插入分开讨论
2. 链表的中间节点
法1:快慢指针,一个走两步,一个走一步,找链表的中间元素
3. 链表中的倒数第K个元素
法1:快慢指针,使快指针先走k步,再让慢指针和快指针一起走直至快指针走向空
法2:上述为返回指针,此处直接返回具体值