思路
先把a链表都放进 一个hashSet集合
再遍历B链表,逐个放进hashSet集合
如果无法放进,说明这个节点就是相交节点
代码
import java.util.HashSet;public class Main {public static void main(String[] args) {}public class ListNode {int val;ListNode next;ListNode(int x) {val = x;next = null;}}public class Solution {public ListNode getIntersectionNode(ListNode headA, ListNode headB) {//遍历A链表,并都放入hashSet中ListNode cur = headA;HashSet<ListNode> hashSet = new HashSet<>();//每一个都添加到一个hasSet中while (cur != null) {hashSet.add(cur);cur = cur.next;}//cur指向头部//遍历b,如果放不进,说明遇到相交节点cur=headB;while (cur != null) {if(!hashSet.add(cur)){return cur;}}return null;}}}