1、單連結清單的建立
view code
2、求單連結清單的長度
3、單連結清單的插入
4、單連結清單的删除
5、查找單連結清單的第i個結點
6、查找單連結清單的中間節點
7、查找單連結清單中倒數第k個元素
8、單連結清單反轉
9、逆序輸出單連結清單元素
10、判斷單連結清單是否存在環
11、求環的長度
第一次相遇後,讓fast停着不走了,slow繼續走,記錄到下次相遇時循環了幾次。
12、求有環單連結清單的長度
13、求環的入口結點
14、合并兩個有序單連結清單
(1)非遞歸
(2)遞歸
15、删除單連結清單的重複結點
(1)保留一個重複的結點
遞歸實作:
非遞歸實作:
(2)不保留重複結點
16、判斷兩個連結清單是否交叉
單連結清單相交是指兩個連結清單存在完全相同的部分(不是相交與一個結點)
判斷單連結清單相交有兩種方法:
方法一:将兩個連結清單的首尾相連,監測是否有環
方法二:如兩個單連結清單相交,那麼從相交結點開始到連結清單結束都是相同的結點,必然是y字形,判斷兩個連結清單的最後一個結點是否相同即可。
17、交換單連結清單中任意兩個結點
18、雙向連結清單的插入