如何让本来长度不相等的变为相等的?
假设链表A长度为a, 链表B的长度为b,此时a != b
但是,a+b == b+a
因此,可以让a+b作为链表A的新长度,b+a作为链表B的新长度。
public ListNode FindFirstCommonNode(ListNode pHead1, ListNode pHead2) {
if (pHead1 == null||pHead2 == null) {
return null;
}
ListNode cur1 = pHead1;
ListNode cur2 = pHead2;
while (cur1!=cur2) {
cur1 = cur1!=null?cur1.next:pHead2;
cur2 = cur2!=null?cur2.next:pHead1;
}
return cur1;
}