文章目录
LeetCode 160 相交链表 ,Easy
虽然是一道Easy,但有一种解法太秒了,双指针的运用,特此搜集,原链接点这里
public class Solution {
public ListNode getIntersectionNode(ListNode headA, ListNode headB) {
ListNode A = headA, B = headB;
while (A != B) {
A = A != null ? A.next : headB;
B = B != null ? B.next : headA;
}
return A;
}
}
链表类的题目通用思路:
- 双指针:
- 快慢指针(两个指针同时出发):找中点
- 先行者指针(一个指针先出发一个指针后出发):找倒数第k个点
- 普通双指针(达到某一条件后,重置指针位置):判断环,判断入环点,判断相交
- 虚拟节点:省掉边界判断的麻烦
- 其余操作:切断链表,翻转链表,合并链表,排序链表
…持续更新…