兩個鍊錶的第乙個公共節點001

2021-10-09 18:43:15 字數 1032 閱讀 6809

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

面試題0207

鍊錶,找相同

注意:是第乙個公共子節點:相交後面的都相等了。

而不是節點的val值相等的節點,

題目鏈結

1、雙指標:兩個走過自己的路,再走對方的路,如果有相同節點,則會兩個都走了l1 + l2 - c的節點個數時候相遇,如果沒有相同節點:1、如果兩個節點個數相同,會在第一次各自都走到最後時候返回null,2、如果兩個節點個數不同,則會兩個都走完兩個的時候結束,返回null.

2、set查詢,先把第乙個鍊錶存起來,然後再遍歷第二個鍊錶,如果找到就返回,

3、兩層迴圈作比較,就是不知道為啥節點可以直接比較,而用節點的val值作比較還會出錯!!!

兩個結點不斷的去對方的軌跡中尋找對方的身影,只要二人有交集,就終會相遇❤

如何快速判斷兩個鍊錶有沒有相交?

如果相交有乙個特性:最後乙個肯定是相同的,所以直接遍歷到兩個鍊錶的最後,看是否相等。

/**

* definition for singly-linked list.

* struct listnode

* };

*/class

solution

return first;}}

;

/**

* definition for singly-linked list.

* struct listnode

* };

*/class

solution

while

(second)

return

null;}

};

class

solution

second=second->next;

}

first=first->next;

}return

null;}

};

兩個鍊錶第乙個公共節點

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

兩個鍊錶的第乙個公共節點

輸入兩個鍊錶,找出它們的第乙個公共的節點。碰到這種題的時候千萬不要用挨個遍歷的方法,時間複雜度高 對於兩個有相同節點的鍊錶的形狀一定是y。而不是x。然後還可能乙個鍊錶長乙個鍊錶短,我們可以求出差值,然後讓長鍊表先走差值的長度,然後在挨個比較就可以了。這樣時間複雜度就小很多了 劍指offer 名企面試...

兩個鍊錶的第乙個公共節點

題目 輸入兩個鍊錶,找出它們的第乙個公共結點。思路 先遍歷兩個鍊錶得到它們的長度,求出長鍊錶比短鍊錶多幾個 第二次遍歷,在長鍊表上先走若干步,接著同時在兩個鍊錶上遍歷,找到的第乙個相同的結點就是它們的第乙個公共結點。public class listnode public listnode find...