常见基本思路:
Data Structure: LinkedList
- create sentinel node
- use two pointers to traverse the linked list
- check if there's loop: two pointer with different speed
- adding or removing nodes: change the prev/next pointer of the node, instead of changing the node itself
- 字母异位词
- Set作为哈希表(常见于没有限制数值大小的情况)
- Map哈希处理需要多维数据且数量不限制
- 哈希表不擅长处理需要去重的情况(用双指针更好)
双指针法并不隶属于某一种数据结构,在数组,链表,字符串都用到了双指针法.
先进后出, 后进先出 FILO
先进先出, 后进后出 FIFO