如何找人幫我做網(wǎng)站推廣在百度怎么創(chuàng)建自己的網(wǎng)站
這道題的關(guān)鍵是,使兩個鏈表上的指針同時到達(dá)相交點(diǎn)處?
方法一:分別遍歷兩個鏈表,得到其長度。然后先讓較長的鏈表上的指針走“兩鏈表長度之差”。然后兩指針分別一步一步走,就能同時到達(dá)相交點(diǎn)處。
方法二:讓?p1
?遍歷完鏈表?A
?之后開始遍歷鏈表?B
,讓?p2
?遍歷完鏈表?B
?之后開始遍歷鏈表?A
,這樣相當(dāng)于「邏輯上」兩條鏈表接在了一起。
如果這樣進(jìn)行拼接,就可以讓?p1
?和?p2
?同時進(jìn)入公共部分,也就是同時到達(dá)相交節(jié)點(diǎn)?c1
?為什么會這樣?
如果把兩個鏈表分別首尾相連的話(即把鏈表B放在鏈表A后,鏈表A放在鏈表B后),他們一定都是以相同的那一部分結(jié)尾的(都是以C1、C2這兩個節(jié)點(diǎn)結(jié)尾的).所以此時兩指針一定能同時到達(dá)相交處(C1)