题目描述:
输入两个链表,找出它们的第一个公共结点。
解题思路:
使用hashset来存储第一个链表的每个节点,然后遍历第二个链表,如果第一个出现在hashset的节点则返回。
代码(java):
/*
public class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}*/
import java.util.*;
public class Solution {
public ListNode FindFirstCommonNode(ListNode pHead1, ListNode pHead2) {
HashSet<ListNode> res=new HashSet<ListNode>();
while(pHead1!=null){
res.add(pHead1);
pHead1=pHead1.next;
}
while(pHead2!=null){
if(res.contains(pHead2))return pHead2;
pHead2=pHead2.next;
}
return null;
}
}