備戰校招研發崗,無論筆試還是面試算法都佔很大比重的,加油!
寫在前面
-
此文章爲刷題筆記的彙總篇,包含《劍指Offer》66道算法題的個人解題思路及Java代碼。
代碼同步發佈在GitHub:https://github.com/JohnnyJYWu/offer-Java -
所有題目均可在牛客網在線編程平臺進行調試。
網址:https://www.nowcoder.com/ta/coding-interviews
計劃一週刷完66題,每天的刷題筆記會整理在一篇文章中,每天的題量也是根據難易程度及本人接受能力劃分的,希望閱讀的小夥伴按自身情況來計劃刷題。
Day1:算法 | 一週刷完《劍指Offer》 Day1:第1~16題
- T1. 二維數組中的查找
- T2. 替換空格
- T3. 從尾到頭打印鏈表
- T4. 重建二叉樹
- T5. 用兩個棧實現隊列
- T6. 旋轉數組的最小數字
- T7. 斐波那契數列
- T8. 跳臺階
- T9. 變態跳臺階
- T10. 矩陣覆蓋
- T11. 二進制中 1 的個數
- T12. 數值的整數次方
- T13. 調整數組順序使奇數位於偶數前面
- T14. 鏈表中倒數第 K 個結點
- T15. 反轉鏈表
- T16. 合併兩個排序的鏈表
Day2:算法 | 一週刷完《劍指Offer》 Day2:第17~26題
- T17. 樹的子結構
- T18. 二叉樹的鏡像
- T19. 順時針打印矩陣
- T20. 包含 min 函數的棧
- T21. 棧的壓入、彈出序列
- T22. 從上往下打印二叉樹
- T23. 二叉搜索樹的後序遍歷序列
- T24. 二叉樹中和爲某一值的路徑
- T25. 複雜鏈表的複製
- T26. 二叉搜索樹與雙向鏈表
Day3:算法 | 一週刷完《劍指Offer》 Day3:第27~37題
- T27. 字符串的排列
- T28. 數組中出現次數超過一半的數字
- T29. 最小的K個數
- T30. 連續子數組的最大和
- T31. 整數中1出現的次數(從1到n整數中1出現的次數)
- T32. 把數組排成最小的數
- T33. 醜數
- T34. 第一個只出現一次的字符位置
- T35. 數組中的逆序對
- T36. 兩個鏈表的第一個公共結點
- T37. 數字在排序數組中出現的次數
Day4:算法 | 一週刷完《劍指Offer》 Day4:第38~49題
- T38. 二叉樹的深度
- T39. 平衡二叉樹
- T40. 數組中只出現一次的數字
- T41. 和爲S的連續正數序列
- T42. 和爲S的兩個數字
- T43. 左旋轉字符串
- T44. 翻轉單詞順序列
- T45. 二叉樹的深度
- T46. 孩子們的遊戲(圓圈中最後剩下的數)
- T47. 求1+2+3+…+n
- T48. 不用加減乘除做加法
- T49. 把字符串轉換成整數
Day5:算法 | 一週刷完《劍指Offer》 Day5:第50~60題
- T50. 二叉樹的深度
- T51. 構建乘積數組
- T52. 正則表達式匹配
- T53. 表示數值的字符串
- T54. 字符流中第一個不重複的字符
- T55. 鏈表中環的入口結點
- T56. 刪除鏈表中重複的結點
- T57. 二叉樹的下一個結點
- T58. 對稱的二叉樹
- T59. 按之字形順序打印二叉樹
- T60. 把二叉樹打印成多行
Day6:算法 | 一週刷完《劍指Offer》 Day6:第61~66題
- T61. 序列化二叉樹
- T62. 二叉搜索樹的第k個結點
- T63. 數據流中的中位數
- T64. 滑動窗口的最大值
- T65. 矩陣中的路徑
- T66. 機器人的運動範圍
最終耗時六天,加這一篇總算補足七篇,O(∩_∩)O哈哈~
有不足之處歡迎各位大佬批評指正。
我的GitHub:https://github.com/JohnnyJYWu
如果有任何問題可在評論留言,或在GitHub發佈issue,我會盡量及時查看回復。
希望這篇文章對你有幫助~