“[刷题]链表专题”
[Leetcode 141, 142] 环形链表,环形链表 II (剑指Offer面试题23)
解法:(链表遍历,快慢指针)
判环:快慢指针,快指针+2, 慢指针+1,若快指针在到达链表尾(不带环的才有链表尾)之前与慢指针相遇,则有环。
找入口:快慢指针第一次相遇节点与头结点之间的节点数与环中节点数相同,两个指针一个从链表头开始,一个从相遇节点开始遍历,两个指针再次相遇节点为入口节点。
代码:
[Leetcode 206] 反转链表 (剑指Offer面试题24)
解法:
代码:
[Leetcode 21] 合并两个有序链表 (剑指Offer面试题 25)
解法:
优先队列重排 (可参考 提交记录99%代码)
比较插入列表 (这里使用)
代码:
[Leetcode23] 合并K个排序链表
解法:
优先队列或列表遍历插入,优先队列效率相对高一些,这里列出的是列表遍历比较插入的代码,优先队列可参考提交记录99%代码。
代码: