劍指offer 鍊錶

2021-10-12 09:30:57 字數 1094 閱讀 8562

鍊錶問題的最優解在空間複雜度上,也就是在筆試階段可以利用輔助空間加速計算

public

class

_06_從尾到頭列印鍊錶

int[

] res =

newint

[stackdata.

size()

];for(

int i =

0; i < res.length; i++

)return res;

}}

public

class

_18_刪除鍊錶中的節點

cur = cur.next;

}return headfake.next;

}}

public

class

_22_鍊錶中倒數第k個節點

else

}while

(fast != null)

return slow;

}}

public

class

_24_反轉鍊錶

}

public

class

_35_複雜鍊錶的複製

// 2. 構建各新節點的 random 指向

cur = head;

while

(cur != null)

// 3. 拆分兩鍊錶

cur = head.next;

node pre = head, res = head.next;

while

(cur.next != null)

pre.next = null;

// 單獨處理原煉表尾節點

return res;

// 返回新煉表頭節點

}}

public

class

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

return pa;

}}

劍指offer 鍊錶

單向鍊錶的結構定義 typedef int datatype struct listnode 問題1 往鍊錶的末尾新增乙個結點 給定頭結點,往末尾插入乙個結點 void insertnode listnode head,datatype key listnode p head while p nex...

劍指offer 鍊錶

鍊錶 鍊錶是一種動態資料結構 struct listnode 往鍊錶的末尾新增乙個節點的c 程式如下 void addtotail listnode phead,int value 注意第乙個引數phead是乙個指向指標的指標。當我們往乙個空鍊錶插入乙個結點時,else pnode m pnext ...

劍指offer 鍊錶

在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。思路1 遞迴版 class solution 找到當前節點與下乙個節點不重複的點,從不重複的點開始遞迴 return deleteduplication phead next else 思路2 非遞迴版 ...