链表的基本知识:链表包括单链表、双链表和循环链表
优点:
- 动态大小:链表的大小可以根据需要动态变化,不需要像数组那样预先分配固定大小的存储空间。
- 插入和删除高效:在链表的任何位置插入或删除节点只需要改变几个指针,不需要移动其他元素。
缺点:
- 访问速度慢:访问链表中的元素需要从头节点开始遍历,直到找到目标节点,因此访问速度比数组慢。
- 额外的内存开销:每个节点除了存储数据外,还需要存储至少一个指针,增加了内存开销。
递归是在定义一个过程或函数时出现调用本过程或本函数的成分
基本思路
- 递归终止条件:定义递归的基本情况,即何时停止递归。
- 递归步骤:在每次递归调用中,执行必要的操作,然后递归地调用函数处理下一个节点。
- 回溯:递归调用返回时,根据递归调用的结果进行必要的操作,直到回到最初的调用点。
1.移除链表
2. 两数相加
3.反转链表
4.两两交换链表中的节点