面试必聊的排序与KMP
1. 希尔排序
先分组,组内遍历,最后选择一种排序方式组内排序
2. 归并排序
3. 快速排序
4. KMP
公共步长为移动步长,next数组
1. 判断链表是否有环?
慢指针 往后面移动一个,快指针 每一次移动两个
只要有环,则快指针与慢指针会在环里相遇
2. 判断两个链表是否有公共节点(是否相交)?
假设链表A长度为7,链表B长度为5,则从长度更长的链表A的第三(3 == 7 - 5 + 1)个节点和链表B的第一个节点开始同时遍历,如果过程中有相同的节点,则有公共节点
3. 链表反转
4.单向链表如何找到倒数第n个节点
提示:两个指针相差n的距离,其中一个为null时,另一个为倒数第n个