链表题目总结:
binary search: 左开右闭
remove element:双指针 双指针的时候一般考虑两种:快慢指针和首尾指针
Squares of a Sorted Array:双指针;之前想用O(1) extra space做,但是发现只能O(n)
Minimum Size Subarray Sum:滑动窗口
Remove Linked List Elements, Design Linked List:easy
Reverse Linked List:一个一个挪
Remove Nth Node From End of List:快慢指针
Swap Nodes in Pairs:recursive
Linked List Cycle II:经典老题,用快慢指针
Intersection of Two Linked Lists LCCI:尾部相交,先遍历出list的长度,然后快慢指针
总的来说,链表经常用到双指针,双指针分为首尾指针和快慢指针。快慢指针又分成两组,速度一样和不一样。
然后有时加一个dummy node会更方便。