输入两个链表,找出它们的第一个公共结点。(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保证传入数据是正确的)

/* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } }*/
import  java.util.HashMap;
public class Solution {
   
    public ListNode FindFirstCommonNode(ListNode pHead1, ListNode pHead2) {
   
        HashMap<ListNode,Integer> map=new HashMap<>();
        ListNode p1=pHead1;
        ListNode p2=pHead2;
        while(p1!=null){
   
            map.put(p1,1);
            p1=p1.next;
        }
        while(p2!=null){
   
            if(map.containsKey(p2)){
   
                return p2;
            }
            p2=p2.next;
        }
        return null;
    }
}