單向鍊錶是否有交點以及查詢交點

2021-06-27 17:54:41 字數 306 閱讀 9076

如何判斷是否有交點?

兩個單向鍊錶,如果有交點,那麼它們最後的乙個結點必定是同乙個結點。我們可以找到鍊錶最後乙個結點,比較它們是否是同乙個結點。

如果兩個鍊錶有交點,如何判斷交點的位置呢?

把乙個鍊錶中的每乙個結點與另乙個鍊錶的中每乙個結點做比較,如果找到相同的,那麼這個相同的就是交點了。但是這個演算法的時間複雜度為o(mn)。

如果兩個鍊錶相交,那麼交點的位置到鍊錶末端肯定相同(後面就是同乙個鍊錶了)。我們可以把兩個鍊錶以尾端為起始位置來對齊。從對齊後,依次比較每乙個結點,這樣演算法複雜度為o(m+n)。

單向鍊錶是否有交點以及查詢交點

如何判斷是否有交點?兩個單向鍊錶,如果有交點,那麼它們最後的乙個結點必定是同乙個結點。我們可以找到鍊錶最後乙個結點,比較它們是否是同乙個結點。如果兩個鍊錶有交點,如何判斷交點的位置呢?把乙個鍊錶中的每乙個結點與另乙個鍊錶的中每乙個結點做比較,如果找到相同的,那麼這個相同的就是交點了。但是這個演算法的...

如何判斷兩個單向鍊錶是否有相交,並找出交點

判斷兩個鍊錶是否相交 假設兩個鍊錶都沒有環 1 判斷第乙個鍊錶的每個節點是否在第二個鍊錶中 2 把第二個鍊錶連線到第乙個後面,判斷得到的鍊錶是否有環,有環則相交 3 先遍歷第乙個鍊錶,記住最後乙個節點,再遍歷第二個鍊錶,得到最後乙個節點時和第乙個鍊錶的最後乙個節點做比較,如果相同,則相交 如何判斷乙...

如何判斷兩個單向鍊錶是否有相交,並找出交點

深信服一道筆試 如何判斷兩個單向鍊錶是否有相交,並找出交點。題比較簡單,單向鍊錶有交點意思就是交點後的節點都是一樣的了。node findnode node phead1,node phead2 while p1 next null while p2 next null if p1 p2 else ...