1.leetcode 25 k个一组翻转链表
思路:
- 先实现区间内翻转链表
- 遍历循环区间翻转链表
- 将翻转后的链表组,首尾相连
2.leetcode 160 相交链表
思路:
- 同时按a->b以及b->a的方式
3. leetcode 23 合并K个有序链表
思路:
- 先合并两个链表
- 再找到中点,递归合并左链表组和右链表组
- 合并合并后的左半链表和右半链表
4. leetcode 143 重排链表
思路:
- 获取中点
- 从中点断开
- 交替合并
5. leetcode 142 环形链表2
思路:
- 快慢指针第一次相遇,把快指针移动到链表头,并降速,第二次相遇处即为入口
6. leetcode 82 删除排序链表中的重复元素
思路:
- 哑节点+循环迭代遍历next和next.next
7. leetcode 1367 二叉树的列表
- 对根节点dfs+对左右子树递归
8. leetcode 86 分割链表
- 分两个链表partition,最后首尾相连即可