《劍指Offer》是算法面試類書籍中的明星,在牛客網上有其中大部分的題目,整理這個列表,以作爲總結。html
最近刷了很多題,感受水平也確實提升了一些。從此可能不會花太多時間用在刷題上了。java
目前完成數量(牛客網計數):67/67,對應劍指Offer書中共計58道題目。python
原書中是C++實現的,在github上有java實現的,本文中均以python語言實現。git
多數題目是我我的理解,不必定是最優方案,部分題目參考了github上的高手的代碼。github
劍指Offer 01 賦值運算符函數
劍指Offer 02 實現Singleton模式
劍指Offer 03 數組中重複的數字
劍指Offer 04 二維數組中的查找
劍指Offer 05 替換空格
劍指Offer 06 從尾到頭打印鏈表
劍指Offer 07 重建二叉樹
劍指Offer 08 二叉樹的下一個節點
劍指Offer 09 用兩個棧實現隊列
劍指Offer 10 斐波那契數列
劍指Offer 11 旋轉數組的最小數字
劍指Offer 12 矩陣中的路徑
劍指Offer 13 機器人的運動範圍
劍指Offer 14 剪繩子
劍指Offer 15 二進制中1的個數
劍指Offer 16 數值的整數次方
劍指Offer 17 打印從1到最大的n位數
劍指Offer 18 刪除鏈表的節點
劍指Offer 19 正則表達式匹配
劍指Offer 20 表示數值的字符串
劍指Offer 21 調整數組順序使奇數位於偶數前面
劍指Offer 22 鏈表中倒數第k個節點
劍指Offer 23 鏈表中環的入口節點
劍指Offer 24 反轉鏈表
劍指Offer 25 合併兩個排序的鏈表
劍指Offer 26 樹的子結構
劍指Offer 27 二叉樹的鏡像
劍指Offer 28 對稱的二叉樹
劍指Offer 29 順時針打印矩陣
劍指Offer 30 包含min函數的棧
劍指Offer 31 棧的壓入、彈出序列
劍指Offer 32 從上到下打印二叉樹
劍指Offer 33 二叉搜索樹的後序遍歷序列
劍指Offer 34 二叉樹中和爲某一值的路徑
劍指Offer 35 複雜鏈表的複製
劍指Offer 36 二叉搜索樹與雙向鏈表
劍指Offer 37 序列化二叉樹
劍指Offer 38 字符串的排列
劍指Offer 39 數組中出現次數超過一半的數字
劍指Offer 40 最小的k個數
劍指Offer 41 數據流中的中位數
劍指Offer 42 連續子數組的最大和
劍指Offer 43 1~n整數中1出現的次數
劍指Offer 44 數字序列中某一位的數字
劍指Offer 45 把數組排成最小的數
劍指Offer 46 把數字翻譯成字符串
劍指Offer 47 禮物的最大價值
劍指Offer 48 最長不含重複字符的子字符串
劍指Offer 49 醜數
劍指Offer 50 第一個只出現一次的字符
劍指Offer 51 數組中的逆序對
劍指Offer 52 兩個鏈表的第一個公共節點
劍指Offer 53 在排序數組中查找數字
劍指Offer 54 二叉搜索樹的第k大節點
劍指Offer 55 二叉樹的深度
劍指Offer 56 數組中數字出現的次數
劍指Offer 57 和爲s的數字
劍指Offer 58 翻轉字符串
劍指Offer 59 隊列的最大值
劍指Offer 60 n個骰子的點數
劍指Offer 61 撲克牌中的順子
劍指Offer 62 圓圈中最後剩下的數字
劍指Offer 63 股票的最大利潤
劍指Offer 64 求1+2+...+n
劍指Offer 65 不用加減乘除作加法
劍指Offer 66 構建乘積數組
劍指Offer 67 把字符串轉換成整數
劍指Offer 68 樹中兩個節點的最低公共祖先面試