兩個可能相交的單鏈表,找出他們的交點
模型
head
a1 a2
\ /
\ /
\ /
|
|
|
|
tail
注意是單鏈表,所以他們的形狀會是Y型而非X型。
分析
首先,最簡單的一種方法是遍歷,只是時間複雜度特別高。
簡單來說,這兩條鏈表的相交前長度都是不同的,但相交後的長度一致,那麼只要想辦法讓他們從後往前遍歷,就很容易找到交點。
- 存數組
- 用棧
其實都是相近的辦法,但是棧比較高大上。
那麼,就好辦了,同時出棧或者同時逆序遍歷,遇到下一節點不同的就是交點。