返回相交鏈表的交點:1.先求出兩個鏈表的各自長度
2.讓長的先走他們的(長度差)步
3.而後二者同時走,第一次相遇就是交點(返回該結點)dom
判斷鏈表是否帶環:1.快慢指針(快的走兩步,慢的走一步,不能一個一步,一個n步(N>2),可能會錯過)
2.若是兩個指針相遇,則鏈表帶環;若是快的遇到null,則不帶環(直線形)ide
求入環點:
1).轉化爲相交問題(求取相遇結點)
2).一個從起點,一個從交點,都每次走一步,第一次相遇點爲入環點指針
相交+帶環(六種狀況)it
複雜鏈表的複製
1)簡單複製沒法解決(由於是淺拷貝)
2)先複製結點,再考慮random問題
3)若是能從老的結點中找到新的結點問題好解決class
結構:
1.老-新-老-新...
2.處理random
3.拆開鏈表