链表 高频追问 Q&A
1. Q: 链表题为什么常加 dummy 节点?
A: 统一头节点被删/改的边界,减少分支判断。
2. Q: 反转链表最容易错哪?
A: 丢失后继节点。必须先存 next 再改 cur.next。
3. Q: 快慢指针怎么找环入口?
A: 相遇后,一个指针回头结点,两者同速前进,再次相遇即入口。
4. Q: 为什么链表常见 O(1) 空间写法?
A: 面试更看重指针操作能力,能不用额外结构就尽量不用。
5. Q: 合并 K 个有序链表怎么优化?
A: 分治或最小堆,复杂度从 O(kN) 优化到 O(N log k)。
6. Q: 链表和数组选型怎么说?
A: 频繁插删选链表,频繁随机访问选数组。