题解 | #两个链表的第一个公共结点#

两个链表的第一个公共结点

https://www.nowcoder.com/practice/6ab1d9a29e88450685099d45c9e31e46

import java.util.*;
/*
public class ListNode {
    int val;
    ListNode next = null;

    ListNode(int val) {
        this.val = val;
    }
}*/
public class Solution {
    public ListNode FindFirstCommonNode(ListNode pHead1, ListNode pHead2) {
        ListNode node1 = pHead1;
        ListNode node2 = pHead2;
        //创建list 用来存储第一个链表的所有节点
        ArrayList<ListNode> list = new ArrayList<ListNode>();

        while(node1 != null){
          list.add(node1);
          node1 = node1.next;
        }
        
        //判断第一个链表中是否包含第二个链表的节点
        while(node2 != null){
            if(list.contains(node2)){//找到第一个包含的节点 就是公共链表的起始节点
               return node2;
            }
            node2 = node2.next;
        }
        return null;
    }
       
}

全部评论

相关推荐

喜欢喜欢喜欢:这是我见过最长最臭的简历
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务