寻找链表的第一个公共交叉点
由于链表的特殊的结构,如果链表存在交叉点,那么一定是Y类型的;
方式一 hashSet的方式
1.首先将链表A中的所有的节点加入到HashSet中
2.遍历链表B中所有的节点,如果节点在在hashSet中,直接返回节点(这是由链表的性质决定)
如果所有B中的节点都不在于hashSet中,那么返回null;
private ListNode getIntersectionNode(ListNode headA, ListNode headB) {
HashSet<ListNode> res = new HashSet<>();
ListNode cur = headA;
while (cur != null) {
res.add(cur);
cur = cur.next;
}
cur = headB;
while (cur != null