一、引言
《劍指offer》可謂是程式猿面試的神書了,在面試中幫了我很多,大部分面試的算法題都會遇到原題或者是類似的題。但是書上的代碼都是C版的,我在這裡整理了一份Java版的代碼供大家學習參考,這些代碼我都是在OJ上跑過全AC的,是以正确性你大可放心。
二、目錄
- 指派運算函數
- 單例設計模式
- 二維數組中查找目标值
- 替換字元串中的空格
- 從尾到頭列印連結清單
- 由前序和中序周遊重建二叉樹
- 用兩個棧實作隊列
- 求旋轉數組的最小數字
- 斐波那契數列的第n項(青蛙跳台階)
- 二進制中1的個數
- 數值的整數次方
- 列印1到最大的n位數
- O(1)時間删除連結清單節點
- 使數組中的奇數位于偶數前面
- 找連結清單中倒數第K個節點
- 輸出反轉後的連結清單
- 合并兩個有序連結清單
- 判斷二叉樹A中是否包含子樹B
- 二叉樹的鏡像
- 順時針列印矩陣
- 包含min函數的棧
- 判斷一個棧是否是另一個棧的彈出序列
- 層序周遊二叉樹
- 後序周遊二叉搜尋樹
- 二叉樹中和為某值的路徑
- 複雜連結清單的複制
- 二叉搜尋樹轉換為雙向連結清單
- 列印字元串中所有字元的排列
- 數組中出現次數超過一半的數字
- 找出最小的K個數
- 連續子數組的最大和
- 從1到整數n中1出現的次數
- 把數組中的數排成一個最小的數
- 求第N個醜數
- 第一個出現一次的字元
- 數組中逆序對的個數
- 兩個連結清單的第一個公共節點
- 數字在排序數組中出現的次數
- 二叉樹的深度
- 數組中隻出現一次的兩個數,而其他數都出現兩次。
- 和為s的連續整數序列
- 翻轉字元串
- n個骰子的點數及出現的機率44. 撲克牌的順子
- 圓圈中最後剩下的數
- 1+2+3+…+n的和
- 不用加減乘除做加法
- 不能被繼承的類
- 字元串轉換為整數
- 樹中兩個節點的最低公共祖先
- 找出重複的數
- 建構乘積數組
- 正規表達式比對
- 表示數值的字元串
- 字元流中第一個不重複的字元
- 連結清單中環的入口節點
- 删除連結清單中重複的節點
- 二叉樹的下一個節點
- 對稱的二叉樹
- 按之字形順序列印二叉樹
- 把二叉樹列印成多行
- 序列化二叉樹
- 二叉搜尋樹的第K個節點
- 資料流中的中位數
- 滑動視窗的最大值
- 矩陣中的路徑
- 機器人的運動範圍
三、代碼實作
- 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