天天看點

[轉]劍指offer之Java源代碼

一、引言

《劍指offer》可謂是程式猿面試的神書了,在面試中幫了我很多,大部分面試的算法題都會遇到原題或者是類似的題。但是書上的代碼都是C版的,我在這裡整理了一份Java版的代碼供大家學習參考,這些代碼我都是在OJ上跑過全AC的,是以正确性你大可放心。

二、目錄

  1. 指派運算函數
  2. 單例設計模式
  3. 二維數組中查找目标值
  4. 替換字元串中的空格
  5. 從尾到頭列印連結清單
  6. 由前序和中序周遊重建二叉樹
  7. 用兩個棧實作隊列
  8. 求旋轉數組的最小數字
  9. 斐波那契數列的第n項(青蛙跳台階)
  10. 二進制中1的個數
  11. 數值的整數次方
  12. 列印1到最大的n位數
  13. O(1)時間删除連結清單節點
  14. 使數組中的奇數位于偶數前面
  15. 找連結清單中倒數第K個節點
  16. 輸出反轉後的連結清單
  17. 合并兩個有序連結清單
  18. 判斷二叉樹A中是否包含子樹B
  19. 二叉樹的鏡像
  20. 順時針列印矩陣
  21. 包含min函數的棧
  22. 判斷一個棧是否是另一個棧的彈出序列
  23. 層序周遊二叉樹
  24. 後序周遊二叉搜尋樹
  25. 二叉樹中和為某值的路徑
  26. 複雜連結清單的複制
  27. 二叉搜尋樹轉換為雙向連結清單
  28. 列印字元串中所有字元的排列
  29. 數組中出現次數超過一半的數字
  30. 找出最小的K個數
  31. 連續子數組的最大和
  32. 從1到整數n中1出現的次數
  33. 把數組中的數排成一個最小的數
  34. 求第N個醜數
  35. 第一個出現一次的字元
  36. 數組中逆序對的個數
  37. 兩個連結清單的第一個公共節點
  38. 數字在排序數組中出現的次數
  39. 二叉樹的深度
  40. 數組中隻出現一次的兩個數,而其他數都出現兩次。
  41. 和為s的連續整數序列
  42. 翻轉字元串
  43. n個骰子的點數及出現的機率44. 撲克牌的順子
  44. 圓圈中最後剩下的數
  45. 1+2+3+…+n的和
  46. 不用加減乘除做加法
  47. 不能被繼承的類
  48. 字元串轉換為整數
  49. 樹中兩個節點的最低公共祖先
  50. 找出重複的數
  51. 建構乘積數組
  52. 正規表達式比對
  53. 表示數值的字元串
  54. 字元流中第一個不重複的字元
  55. 連結清單中環的入口節點
  56. 删除連結清單中重複的節點
  57. 二叉樹的下一個節點
  58. 對稱的二叉樹
  59. 按之字形順序列印二叉樹
  60. 把二叉樹列印成多行
  61. 序列化二叉樹
  62. 二叉搜尋樹的第K個節點
  63. 資料流中的中位數
  64. 滑動視窗的最大值
  65. 矩陣中的路徑
  66. 機器人的運動範圍

三、代碼實作

  • 1-10題
  • 11-20題
  • 21-30題
  • 31-40題
  • 41-50題
  • 51-67題

四、代碼免費下載下傳

免費下載下傳網址:《劍指offer》Java版代碼下載下傳

參考

https://blog.csdn.net/baiye_xing/article/details/78428561

https://www.cnblogs.com/yongh/p/9637260.html