链表是一种常见的数据结构,它由一系列节点组成,每个节点包含数据和指向下一个节点的指(在双向链表中还有指向前一个节点的指针)。
链表的主要特点包括:
1. 动态内存分配:可以根据需要在运行时动态地添加或删除节点,不需要像数组那样预先分配固定大小的内存。
2. 插入和删除操作高效:在特定位置插入或删除节点的时间复杂度通常为 O(1),只要修改相关节点的指针即可。
3. 随机访问效率低:不像数组可以通过索引直接访问元素,链表要访问特定位置的元素,需要从头节点开始顺着指针逐个遍历
递归方法的基本思路是:将一个大问题分解为一个或多个与原问题相似但规模较小的子问题,通过不断地调用自身来解决这些子问题,直到达到某种基本情况(也称为终止条件),然后从基本情况开始逐步返回结果。
力扣707
力扣206