题解 | #两个链表的第一个公共结点#
两个链表的第一个公共结点
http://www.nowcoder.com/practice/6ab1d9a29e88450685099d45c9e31e46
思路:1.遍历链表1,并将其入列表ArrayList
2.遍历链表2,若当前结点存在于ArrayList中,则直接停止while循环。
3.输出当前结点。
public ListNode FindFirstCommonNode(ListNode pHead1, ListNode pHead2) { ListNode ph1=pHead1; ArrayList<ListNode> nodelist=new ArrayList<>(); while(ph1!=null){ nodelist.add(ph1); ph1=ph1.next; } ListNode ph2=pHead2; while(ph2!=null && !nodelist.contains(ph2)){ ph2=ph2.next; } return ph2; }