1、引言
《劍指offer》可謂是程序猿面試的神書了,在面試中幫了我不少,大部分面試的算法題都會遇到原題或者是相似的題。可是書上的代碼都是C版的,我在這裏整理了一份Java版的代碼供你們學習參考,這些代碼我都是在OJ上跑過全AC的,因此正確性你大可放心。html
2、目錄
- 賦值運算函數
- 單例設計模式
- 二維數組中查找目標值
- 替換字符串中的空格
- 從尾到頭打印鏈表
- 由前序和中序遍歷重建二叉樹
- 用兩個棧實現隊列
- 求旋轉數組的最小數字
- 斐波那契數列的第n項(青蛙跳臺階)
- 二進制中1的個數
- 數值的整數次方
- 打印1到最大的n位數
- O(1)時間刪除鏈表節點
- 使數組中的奇數位於偶數前面
- 找鏈表中倒數第K個節點
- 輸出反轉後的鏈表
- 合併兩個有序鏈表
- 判斷二叉樹A中是否包含子樹B
- 二叉樹的鏡像
- 順時針打印矩陣
- 包含min函數的棧
- 判斷一個棧是不是另外一個棧的彈出序列
- 層序遍歷二叉樹
- 後序遍歷二叉搜索樹
- 二叉樹中和爲某值的路徑
- 複雜鏈表的複製
- 二叉搜索樹轉換爲雙向鏈表
- 打印字符串中全部字符的排列
- 數組中出現次數超過一半的數字
- 找出最小的K個數
- 連續子數組的最大和
- 從1到整數n中1出現的次數
- 把數組中的數排成一個最小的數
- 求第N個醜數
- 第一個出現一次的字符
- 數組中逆序對的個數
- 兩個鏈表的第一個公共節點
- 數字在排序數組中出現的次數
- 二叉樹的深度
- 數組中只出現一次的兩個數,而其餘數都出現兩次。
- 和爲s的連續整數序列
- 翻轉字符串
- n個骰子的點數及出現的機率44. 撲克牌的順子
- 圓圈中最後剩下的數
- 1+2+3+…+n的和
- 不用加減乘除作加法
- 不能被繼承的類
- 字符串轉換爲整數
- 樹中兩個節點的最低公共祖先
- 找出重複的數
- 構建乘積數組
- 正則表達式匹配
- 表示數值的字符串
- 字符流中第一個不重複的字符
- 鏈表中環的入口節點
- 刪除鏈表中重複的節點
- 二叉樹的下一個節點
- 對稱的二叉樹
- 按之字形順序打印二叉樹
- 把二叉樹打印成多行
- 序列化二叉樹
- 二叉搜索樹的第K個節點
- 數據流中的中位數
- 滑動窗口的最大值
- 矩陣中的路徑
- 機器人的運動範圍
3、代碼實現
4、代碼免費下載
免費下載網址:《劍指offer》Java版代碼下載面試
參考
http://www.javashuo.com/article/p-ssopybuo-mq.html正則表達式
http://www.javashuo.com/article/p-pwrmmmfb-ea.html算法