剑指Offer------两个链表的第一个公共结点

来源:互联网 发布:免费淘宝客网站源码 编辑:程序博客网 时间:2024/06/06 01:34

题目描述

输入两个链表,找出它们的第一个公共结点。

使用HashSet存储结点即可。
package com.niuke;import java.util.HashSet;/** *  * @author 周颖 * @date 2017年10月6日 上午9:33:59 * @Decription 输入两个链表,找出它们的第一个公共结点。 */public class Ex24 {class ListNode {    int val;    ListNode next = null;    ListNode(int val) {        this.val = val;    }}public ListNode FindFirstCommonNode(ListNode pHead1, ListNode pHead2) {HashSet<ListNode> set = new HashSet<>();ListNode current1 = pHead1;ListNode current2 = pHead2;while(current1!=null){set.add(current1);current1 = current1.next;}while(current2!=null){if (set.contains(current2)) {return current2;}current2 = current2.next;}return null;}}