题解 | #两个链表的第一个公共结点#
两个链表的第一个公共结点
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) {
if (pHead1 == null || pHead2 == null) {
return null;
}
ListNode p = pHead1, q = pHead2;
//类似把两个链表变得一样长,和快慢指针有一点点相似
while (p != q) {
p = p != null ? p.next : pHead2;
q = q != null ? q.next : pHead1;
}
return p;
}
}

