《劍指offer》Java版目錄

我會將其中我認爲最高頻的加上 * 號,但是仍然建議所有題目都能熟練的寫出。

03 二維數組中的查找

04.替換空格

* 05.從尾到頭打印鏈表 (非常非常常見的棧入門題[遞歸也可以])

06. 前序+中序重建二叉樹 (考察對樹的基礎知識的掌握程度)

07. 用兩個棧實現隊列

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. 順時針打印矩陣 可以找規律,也可以用深搜.

* 21. 包含min函數的棧

** 22. 棧的壓入、彈出序列 既然能按照規律手工計算,那麼就能被代碼模擬出來。

***** 23. 從上往下打印二叉樹 層級遍歷(必須學會,否則樹的知識就是一知半解)

24. 二叉搜索樹的後序遍歷序列

25. 二叉樹中和爲某一值的路徑 深搜

26. 複雜鏈表的複製 一個很巧妙的解法,沒學過是很難想出來的。

27. 二叉搜索樹與雙向鏈表 二叉搜索樹的有序性質

28. 字符串的排序

** 29.數組中出現次數超過一半的數字

*** 30. 最小的K個數 經典的排序改進題

31. 連續子數組的最大和 動歸存最大值

32. 從1到n的整數中1出現的次數 難度稍大

33. 把數組排成最小的數 一千零一種排序

34. 醜數

35.第一個只出現一次的字符

36.數組中的逆序對

37.兩個鏈表的第一個公共結點

38.數字在排序數組中出現的次數

39.二叉樹的深度

40.平衡二叉樹

40.數組中只出現一次的數字

42. 和爲S的連續正數序列

43.和爲S的兩個數字

44. 左旋轉字符串

45. 翻轉單詞順序列

46.撲克牌順子

46.求1+2+3+…+n

47. 不用加減乘除做加法

47. 圓圈中最後剩下的數

48.把字符串轉換成整數

49.數組中重複的數字

50.構建乘積數組

51.正則表達式匹配

52.表示數值的字符串

53.字符流中第一個不重複的字符

54. 鏈表中環的入口結點

55. 刪除鏈表中重複的結點

56. 二叉樹的下一個結點

57. 對稱的二叉樹

58. 按之字形順序打印二叉樹

59. 把二叉樹打印成多行

60.序列化二叉樹

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章