题目描述
输入两个链表,找出它们的第一个公共结点。
题解
/*
public class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}*/
public class Solution {
public ListNode FindFirstCommonNode(ListNode head1, ListNode head2) {
if(head1 == head2)
return head1;
int len1 = 0;
int len2 = 0;
ListNode node1 = head1;
ListNode node2 = head2;
while(node1 != null) {
len1++;
node1 = node1.next;
}
while(node2 != null) {
len2++;
node2 = node2.next;
}
if(len1 > len2) {
for(int i=0;i<len1-len2;i++) {
head1 = head1.next;
}
} else if(len2 > len1) {
for(int i=0;i<len2-len1;i++) {
head2 = head2.next;
}
}
while(head1 != head2) {
head1 = head1.next;
head2 = head2.next;
}
return head1;
}
}