程式設計連線
題目描述
輸入兩個鍊錶,找出它們的第乙個公共結點。題目解析:
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...