/*
public class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}*/
// 打印两个链表的公共结点,简单的代码,但是用了很久。双层循环:时间复杂度O(m*n),空间复杂度O(1)
// 注意1:公共结点是同一个结点,而非值相同的两个不同的结点。因此结点变量直接用来比较,而不是用值比较。用值比较不仅需要判断当前结点,还需要判断后面所有的结点,就把这个题搞复杂了。
// 注意2:for循环遍历链表
public class Solution {
public ListNode FindFirstCommonNode(ListNode pHead1, ListNode pHead2) {
for (ListNode h1 = pHead1; h1 != null ; h1 = h1.next) {
for (ListNode h2 = pHead2; h2 != null ; h2 = h2.next) {
if (h1 == h2) return h1;
}
}
return null;
}
}