劍指offer之兩個連結串列的第一個公共節點
阿新 • • 發佈:2021-01-31
技術標籤:牛客一練
如何讓本來長度不相等的變為相等的?
假設連結串列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;
}