原文地址:https://blog.csdn.net/baiye_xing/article/details/78428561
一、引言
《劍指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個節點
- 數據流中的中位數
- 滑動窗口的最大值
- 矩陣中的路徑
- 機器人的運動范圍
三、代碼實現
四、代碼免費下載
免費下載網址:《劍指offer》Java版代碼下載
以上內容從csdn上轉載,感謝作者:https://blog.csdn.net/baiye_xing/article/details/78428561