我會將其中我認爲最高頻的加上 * 號,但是仍然建議所有題目都能熟練的寫出。
* 05.從尾到頭打印鏈表 (非常非常常見的棧入門題[遞歸也可以])
06. 前序+中序重建二叉樹 (考察對樹的基礎知識的掌握程度)
08.旋轉數組的最小數字 (考察的是非正常情況的查找,查找必然不離二分/樹(尤其是短String的查找,離不開字典樹))
** 09. 斐波那契數列 必會 (這題一定要學會爲什麼常見的遞歸會很慢,如何使用內容優化遞歸速度,以及如何使用空間爲O(1)的遞推)
09(2). 矩形覆蓋(需要仔細觀察規律,並找到其與斐波那契的關聯)
09(2) 變態跳臺階(跳臺階是斐波那契的一個簡單變階,此題加大/降低了難度,需要你從斐波那契的慣性中跳出來)
* 10.二進制中1的個數 你需要找到二進制中1與10進制中的對應
11. 數值的整數次方 從O(n)到O(lg n),記得找規律。
* 12. 調整數組順序使奇數位於偶數前面 可以使用空間換時間,也可以使用比較器.
15. 鏈表中倒數第k個結點 快慢指針的奇妙用法
16. 反轉鏈表 注意空間。
17. 合併兩個排序的鏈表 歸併。
** 18. 樹的子結構 遞歸的常見寫法,一定要將遞歸與樹練會。
* 19. 二叉樹的鏡像 遞歸的常見寫法,一定要將遞歸與樹練會。
20. 順時針打印矩陣 可以找規律,也可以用深搜.
** 22. 棧的壓入、彈出序列 既然能按照規律手工計算,那麼就能被代碼模擬出來。
***** 23. 從上往下打印二叉樹 層級遍歷(必須學會,否則樹的知識就是一知半解)
26. 複雜鏈表的複製 一個很巧妙的解法,沒學過是很難想出來的。
27. 二叉搜索樹與雙向鏈表 二叉搜索樹的有序性質
*** 30. 最小的K個數 經典的排序改進題
31. 連續子數組的最大和 動歸存最大值
32. 從1到n的整數中1出現的次數 難度稍大
33. 把數組排成最小的數 一千零一種排序