一、链表的基本知识
定义:链表是一种线性数据结构,由一系列节点组成,每个节点包含数据域和指针域(指向下一个节点)。
特点:
动态存储:不需要连续内存空间,插入、删除操作高效(O(1))。
随机访问慢:无法直接通过下标访问,需从头节点遍历(O(n))。
常见类型:单向链表、双向链表、循环链表。
核心操作:遍历、插入、删除、反转。
头节点(head):链表的起始节点,是操作链表的入口。
二、递归方法的基本思路
定义:在函数或过程中调用自身的过程,称为递归。
分类:
直接递归:函数直接调用自己。
间接递归:函数通过其他函数间接调用自己。
尾递归:递归调用是函数体中的最后一条执行语句。
递归模型组成:
递归出口(终止条件):明确递归何时结束,防止无限调用。
递归体(递推关系):将大问题拆解为规模更小的同类问题,并建立前后关系。
三、练习截图
1.力扣206题-反转链表
解法一:迭代双指针法、
解法二:递归法
2.力扣24题-两两交换链表中的节点