Intersection of Two Linked Lists
相交链表
思路:把两条链换成一样长的链,再比较;
public ListNode getIntersectionNode(ListNode headA, ListNode headB) {
int lenA = 0;
int lenB = 0;
while(headA != null) {
headA = headA.next;
lenA++;
}
while(headB != null) {
headB = headB.next;
lenB++;
}
if(lenA > lenB) {
lenA = lenA-lenB;
while(lenA-- > 0)
headA = headA.next;
}else {
lenB = lenB - lenA;
while(lenB-- > 0)
headB = headB.next;
}
while(headA != null) {
if(headA.equals(headB)) {
return headA;
}
headA = headA.next;
headB = headB.next;
}
return null;
}