- 使用双指针
- 快指针走两步,慢指针走一步,快指针到头,慢指针在中点
slow = fast = head
while(fast!== null && fast.next!== null) {
fast = fast.next.next
slow = slow.next
}
- 快指针先走k步,然后慢指针再走
- 快指针到头,慢指针指向就是倒数第k个元素
while (k--) fast = fast.next
while (fast !== null) {
slow = slow.next
fast = fast.next
}
- 找字符串中是否存在某一串,'asdada' 找 'dad'
-
数组
-
二叉树
-
二分树
-
查找树
-
哈希表
-
双指针
二分查找
-
位运算
-
链表
-
sliding window
-
递归
-
队列
-
数组,字符串, 50道
-
排序,5道 ··
-
二分查找,10道
-
二叉树,链表,各15道
-
递归,简单级别和中等级别的刷完