牛客網刷題 兩個鍊錶的第乙個公共結點

2021-08-19 19:02:39 字數 588 閱讀 9689

程式設計連線

題目描述

輸入兩個鍊錶,找出它們的第乙個公共結點。

題目解析:

1、比較兩者的長度,長的先走,之後一起走,走到兩個相同的時候即是第乙個公共結點

2、兩個指標分別指向這兩個結點,不同的時候,則往前走,相同則停。

**:

1、先求長度

class solution 

for(int i =0;iwhile(pnode1!=null && pnode2!=null && pnode1!=pnode2)

return pnode1;

}int getlengthoflist(listnode* phead)

return length;

}};

2、直接看指標

listnode *p1 = phead1;

listnode *p2 = phead2;

while(p1!=p2)

return p1;

牛客網 兩個鍊錶的第乙個公共結點

輸入兩個鍊錶,找出它們的第乙個公共結點。我們先把問題簡化 如何判斷兩個單向鍊錶有沒有公共結點?前面已經提到,如果兩個鍊錶有乙個公共結點,那麼該公共結點之後的所有結點都是重合的。那麼,它們的最後乙個結點必然是重合的。因此,我們判斷兩個鍊錶是不是有重合的部分,只要分別遍歷兩個鍊錶到最後乙個結點。如果兩個...

兩個鍊錶的第乙個公共結點 牛客offer

題目描述 輸入兩個鍊錶,找出它們的第乙個公共結點。題目分析 只是資料域相同不是公共節點。公共結點代表該節點在兩個鍊錶中的資料域和指標域都是相同的,這意味著從該公共節點開始,後面的結點都是兩個鍊錶共有的,如圖 解題思路 思路1 從正序比較的角度來考慮 觀察上圖,鍊錶1長度大於鍊錶2,那麼公共結點絕不可...

兩個鍊錶第乙個公共節點

先讓長的鍊錶的指標先走長的之差的步數,兩個再一起走,如果相遇就是第乙個公共節點 如果沒交點,就都走到空 struct listnode class solution while pl2 null 復位指標到頭節點 pl1 phead1 pl2 phead2 int dif len 0 if len1...