有環單鏈表相交判斷

2021-08-24 23:38:59 字數 463 閱讀 5305

如何判斷兩個有環單鏈表是否相交?相交的話返回第乙個相交的節點,不想交的話返回空。如果兩個鍊錶長度分別為n和m,請做到時間複雜度o(n+m),額外空間複雜度o(1)。

給定兩個鍊錶的頭結點head1head2(注意,另外兩個引數adjust0adjust1用於調整資料,與本題求解無關)。請返回乙個bool值代表它們是否相交。

/*struct listnode

};*/

class chkintersection

fast=head;

while(fast!=head)

return slow;

}bool chkinter(listnode* head1, listnode* head2, int adjust0, int adjust1) }};

單鏈表相交與環問題

程式設計之美 裡面有一篇是講如何判斷兩鍊錶是否相交,讀後覺得原文太過囉嗦。於是,筆者總結了一下,此類問題可以擴充套件為兩大類,分別是 1 單鏈表與環問題 2 單鏈表相交與環問題 本文 給定兩單鏈表a b,只給出兩頭指標。請問 1 如何判斷兩單鏈表 無環 是否相交?有兩種可取的辦法 1 人為構環,將鍊...

判斷鍊錶相交 環

程式設計判斷倆個鍊錶是否相交 給出倆個單向鍊錶的頭指標,比如h1,h2,判斷這倆個鍊錶是否相交。為了簡化問題,我們假設倆個鍊錶均不帶環。問題擴充套件 1.如果鍊錶可能有環列?2.如果需要求出倆個鍊錶相交的第乙個節點列?以下是演算法實現部分 如何判斷乙個單鏈表是有環的?注意不能用標誌位,最多只能用兩個...

判斷單鏈表是否有環

1 如何判斷乙個鍊錶是不是這類鍊錶?2 如果鍊錶為存在環,如果找到環的入口點?解答 一 判斷鍊錶是否存在環,辦法為 設定兩個指標 fast,slow 初始值都指向頭,slow每次前進一步,fast每次前進二步,如果鍊錶存在環,則fast必定先進入環,而slow後進入環,兩個指標必定相遇。當然,fas...