剑指offer(第二版)java实现导航帖

欢迎关注(所属专题在评论区的下方)

欢迎点赞

欢迎留言

欢迎讨论

一起加油!你的每个反馈都是我的动力!

说明

《剑指offer》,从名字上看虽不是一本系统的算法书,但很多师兄师姐都推荐它,因为很多互联网公司的面试算法题都能这本书上找到思路,链表,二叉树,图,查找,排序,时间空间的优化,队列,栈,覆盖面比较广且不拖沓。无奈这本书是用C++写的,为了方便复习与参考,已将原书第一版(链接)用Java写了一遍。今年5月,该书第二版发布,新添的内容也很不错,动态规划,回溯法,贪婪算法,正则表达式等,我便又买了第二版。一是打算再刷一遍旧题,巩固下,二是见见新题。欢迎交流指教。

源代码

github地址:https://github.com/ryderchan/point-to-offer-edition2


类别顺序分析(部分题目)

字符串
页号 题目 简书链接
51 5.替换空格 http://www.jianshu.com/p/0135b2e13f41
124 19.正则表达式匹配 http://www.jianshu.com/p/462f54c25e3f
127 20.表示数字的字符串 http://www.jianshu.com/p/477388f9693e
284 58.翻转单词顺序 http://www.jianshu.com/p/8a79f439e63d
286 58.2.左旋转字符串 http://www.jianshu.com/p/c2f062b59bda
318 67.把字符串转换成整数 http://www.jianshu.com/p/31dc58b9eca9
栈队列
页号 题目 简书链接
68 9.用两个栈实现队列 http://www.jianshu.com/p/e92f42b892d0
165 30.包含min函数的栈 http://www.jianshu.com/p/c2f313eb26a5
168 31.栈的压入弹出序列 http://www.jianshu.com/p/e39ff6a1b3ee
288 滑动窗口的最大值 http://www.jianshu.com/p/95e4e819761b
292 59.2.队列的最大值 http://www.jianshu.com/p/13ab1c51eac6
链表
页号 题目 简书链接
58 6.从尾到头打印链表 http://www.jianshu.com/p/ba84345d45f9
119 18.o(1)时间删除链表的节点 http://www.jianshu.com/p/5e2275757a3d
122 18-2.删除排序链表中重复的节点 http://www.jianshu.com/p/efb520176364
134 22.链表中倒数第k个节点 http://www.jianshu.com/p/0a2b3b783a54
139 23.链表中环的入口(双指针总结) http://www.jianshu.com/p/924940701642
142 24.反转链表 http://www.jianshu.com/p/81d3c9117d52
145 25.合并两个排序的链表 http://www.jianshu.com/p/0f92e9d83699
187 35.复杂链表的复制 http://www.jianshu.com/p/e6eea3a0aa43
253 52.两个链表的第一个公共节点 http://www.jianshu.com/p/aef2e3862d59
页号 题目 简书链接
60 总结:二叉树的遍历 http://www.jianshu.com/p/362d4ff42ab2
62 7.重建二叉树 http://www.jianshu.com/p/ddc50561dda5
65 8.二叉树的下一个节点 http://www.jianshu.com/p/85eea9f1adf0
148 26.树的子结构 http://www.jianshu.com/p/1fab9278a947
151 27.二叉树的镜像 http://www.jianshu.com/p/055907cc3ca1
159 28.对称的二叉树 http://www.jianshu.com/p/7f1bce9c6928
171 32.从上到下打印二叉树 http://www.jianshu.com/p/962a5c053e1f
174 32.2.分行从上到下打印二叉树 http://www.jianshu.com/p/bca35632cc76
176 32.3.之字形打印二叉树 http://www.jianshu.com/p/962a5c053e1f
179 33.二叉搜索树的后序遍历 http://www.jianshu.com/p/49aaf6e0491d
182 34.二叉树中和为某一值的路径 http://www.jianshu.com/p/6c1d5cd26020
191 36.二叉搜索树与双向链表 http://www.jianshu.com/p/cbeb226afa4c
194 37.序列化二叉树 http://www.jianshu.com/p/61ec6618f792
269 54.二叉搜索树的第k大节点 http://www.jianshu.com/p/fa35d13200d9
271 55.二叉树的深度 http://www.jianshu.com/p/0411c31d0b08
273 55.2.平衡二叉树 http://www.jianshu.com/p/59db1f0e6ca9
326 68.树中两个节点的最低公共祖先 http://www.jianshu.com/p/edffe43abc14
哈希
页号 题目 简书链接
39 3.数组中重复的数 http://www.jianshu.com/p/fb65947a2e9c
243 50.第一个只出现一次的字符 http://www.jianshu.com/p/92daf959e793
247 50.2.流中第一个出现一次的字符 http://www.jianshu.com/p/dd9826ff5109
位运算
页号 题目 简书链接
100 15.二进制中1的个数 http://www.jianshu.com/p/33d4b952f445
277 56.数组中只出现一次的两个数字 http://www.jianshu.com/p/1a9997924cc6
278 56.2.数组中唯一出现一次的数字 http://www.jianshu.com/p/1a9997924cc6
279 总结:元素出现次数的终极总结 http://www.jianshu.com/p/896accc5bc6d
310 65.不用加减乘除做加法 http://www.jianshu.com/p/e1e77b010ecc
312 不用新变量交换两个原有变量的值 http://www.jianshu.com/p/0eb31b8b1bcf
查找
页号 题目 简书链接
44 4.二维数组中的查找 http://www.jianshu.com/p/59e6cdf999a5
82 11.旋转数组的最小数字 http://www.jianshu.com/p/27b84fee0064
263 53.数字在排序数组中出现的次数 http://www.jianshu.com/p/a5bda52fe134
266 53.2.0~n中缺失的数字 http://www.jianshu.com/p/626f921c2091
排序
页号 题目 简书链接
79 总结:排序算法 http://www.jianshu.com/p/6ae77d17170c
79 总结:数组&链表的快排 http://www.jianshu.com/p/bbcfb28e3242
129 21.使数组中奇数位于偶数前面 http://www.jianshu.com/p/3c332f879722
205 39.数组中出现次过一半的数字 http://www.jianshu.com/p/aba14db8cbf2
209 40.最小的k个数 http://www.jianshu.com/p/2198f276ad2a
214 41.数据流中的中位数 http://www.jianshu.com/p/cca34b891266
227 45.把数组排列成最小的数 http://www.jianshu.com/p/3cead2821c68
249 51.数组中的逆序对 http://www.jianshu.com/p/c7f98f5cc918
动态规划
页号 题目 简书链接
96 14.剪绳子(动态规划) http://www.jianshu.com/p/63b780a3157a
218 42.连续子数组的最大和 http://www.jianshu.com/p/fa1530aafc34
231 46.把数字翻译成字符串 http://www.jianshu.com/p/80e1841909b7
233 47.礼物的最大值 http://www.jianshu.com/p/489098b6c5c3
236 48.最长不含重复字符的子字符串 http://www.jianshu.com/p/b95997657aae

页号顺序分析(全部题目)

页号 题目 简书链接
25 1.赋值运算符函数 http://www.jianshu.com/p/3f024a03176b
32 2.实现单例模式 http://www.jianshu.com/p/fdc64df67794
39 3.数组中重复的数 http://www.jianshu.com/p/fb65947a2e9c
44 4.二维数组中的查找 http://www.jianshu.com/p/59e6cdf999a5
51 5.替换空格 http://www.jianshu.com/p/0135b2e13f41
58 6.从尾到头打印链表 http://www.jianshu.com/p/ba84345d45f9
60 总结:二叉树的遍历 http://www.jianshu.com/p/362d4ff42ab2
62 7.重建二叉树 http://www.jianshu.com/p/ddc50561dda5
65 8.二叉树的下一个节点 http://www.jianshu.com/p/85eea9f1adf0
68 9.用两个栈实现队列 http://www.jianshu.com/p/e92f42b892d0
74 10.斐波那契数列 http://www.jianshu.com/p/be764a696745
79 总结:排序算法 http://www.jianshu.com/p/6ae77d17170c
79 总结:数组&链表的快排 http://www.jianshu.com/p/bbcfb28e3242
82 11.旋转数组的最小数字(二分查找) http://www.jianshu.com/p/27b84fee0064
89 12.矩阵中的路径(回溯法) http://www.jianshu.com/p/737e587935d8
92 13.机器人的运动范围(回溯法) http://www.jianshu.com/p/e38d425b3677
96 14.剪绳子(动态规划) http://www.jianshu.com/p/63b780a3157a
100 15.二进制中1的个数(位运算) http://www.jianshu.com/p/33d4b952f445
110 16.数值的整数次方(细节) http://www.jianshu.com/p/83b5663a519b
114 17.打印从1到最大的n位(大数问题) http://www.jianshu.com/p/71c20c0a44b5
119 18.o(1)时间删除链表的节点 http://www.jianshu.com/p/5e2275757a3d
122 18-2.删除排序链表中重复的节点 http://www.jianshu.com/p/efb520176364
124 19.正则表达式匹配(匹配) http://www.jianshu.com/p/462f54c25e3f
127 20.表示数字的字符串(匹配) http://www.jianshu.com/p/477388f9693e
129 21.使数组中奇数位于偶数前面 http://www.jianshu.com/p/3c332f879722
134 22.链表中倒数第k个节点 http://www.jianshu.com/p/0a2b3b783a54
139 23.链表中环的入口(双指针总结) http://www.jianshu.com/p/924940701642
142 24.反转链表 http://www.jianshu.com/p/81d3c9117d52
145 25.合并两个排序的链表 http://www.jianshu.com/p/0f92e9d83699
148 26.树的子结构 http://www.jianshu.com/p/1fab9278a947
151 27.二叉树的镜像 http://www.jianshu.com/p/055907cc3ca1
159 28.对称的二叉树 http://www.jianshu.com/p/7f1bce9c6928
161 29.顺时针打印矩阵 http://www.jianshu.com/p/1bf321eff014
165 30.包含min函数的栈 http://www.jianshu.com/p/c2f313eb26a5
168 31.栈的压入弹出序列 http://www.jianshu.com/p/e39ff6a1b3ee
171 32.从上到下打印二叉树 http://www.jianshu.com/p/962a5c053e1f
174 32.2.分行从上到下打印二叉树 http://www.jianshu.com/p/bca35632cc76
176 32.3.之字形打印二叉树 http://www.jianshu.com/p/962a5c053e1f
179 33.二叉搜索树的后序遍历 http://www.jianshu.com/p/49aaf6e0491d
182 34.二叉树中和为某一值的路径 http://www.jianshu.com/p/6c1d5cd26020
187 35.复杂链表的复制 http://www.jianshu.com/p/e6eea3a0aa43
191 36.二叉搜索树与双向链表 http://www.jianshu.com/p/cbeb226afa4c
194 37.序列化二叉树 http://www.jianshu.com/p/61ec6618f792
197 38.字符串的排列 http://www.jianshu.com/p/17e7d220e8d4
199 38.2字符串的组合 http://www.jianshu.com/p/a28b8feda61b
205 39.数组中出现次过一半的数字 http://www.jianshu.com/p/aba14db8cbf2
209 40.最小的k个数 http://www.jianshu.com/p/2198f276ad2a
214 41.数据流中的中位数 http://www.jianshu.com/p/cca34b891266
218 42.连续子数组的最大和 http://www.jianshu.com/p/fa1530aafc34
221 43. 1~n整数中1出现的次数 http://www.jianshu.com/p/25f33c14297f
225 44.数字序列中某一位的数字 http://www.jianshu.com/p/0bbf1fcbe070
227 45.把数组排列成最小的数 http://www.jianshu.com/p/3cead2821c68
231 46.把数字翻译成字符串 http://www.jianshu.com/p/80e1841909b7
233 47.礼物的最大值 http://www.jianshu.com/p/489098b6c5c3
236 48.最长不含重复字符的子字符串 http://www.jianshu.com/p/b95997657aae
240 49.丑数 http://www.jianshu.com/p/75bd206d865d
243 50.第一个只出现一次的字符 http://www.jianshu.com/p/92daf959e793
247 50.2.流中第一个出现一次的字符 http://www.jianshu.com/p/dd9826ff5109
249 51.数组中的逆序对 http://www.jianshu.com/p/c7f98f5cc918
253 52.两个链表的第一个公共节点 http://www.jianshu.com/p/aef2e3862d59
263 53.数字在排序数组中出现的次数 http://www.jianshu.com/p/a5bda52fe134
266 53.2.0~n中缺失的数字 http://www.jianshu.com/p/626f921c2091
267 53.3.数组中数值和下标相等的元素 http://www.jianshu.com/p/912abde72cbd
269 54.二叉搜索树的第k大节点 http://www.jianshu.com/p/fa35d13200d9
271 55.二叉树的深度 http://www.jianshu.com/p/0411c31d0b08
273 55.2.平衡二叉树 http://www.jianshu.com/p/59db1f0e6ca9
277 56.数组中只出现一次的两个数字 http://www.jianshu.com/p/1a9997924cc6
278 56.2.数组中唯一出现一次的数字 http://www.jianshu.com/p/1a9997924cc6
279 总结:元素出现次数的终极总结 http://www.jianshu.com/p/896accc5bc6d
280 57.和为s的数字 http://www.jianshu.com/p/9e4be7866cb9
282 57.2.和为s的连续正数序列 http://www.jianshu.com/p/272a81c77bfa
284 58.翻转单词顺序 http://www.jianshu.com/p/8a79f439e63d
286 58.2.左旋转字符串 http://www.jianshu.com/p/c2f062b59bda
288 59.滑动窗口的最大值 http://www.jianshu.com/p/95e4e819761b
292 59.2.队列的最大值 http://www.jianshu.com/p/13ab1c51eac6
294 60.n个骰子的点数 http://www.jianshu.com/p/5fc41ff88c3a
298 61.扑克牌中的顺子 http://www.jianshu.com/p/8e81fea0dc51
300 62.圆圈中最后剩下的数字 http://www.jianshu.com/p/c522de1cdfab
304 63.股票的最大利润 http://www.jianshu.com/p/861d404abdd0
307 64.求1+2+...+n http://www.jianshu.com/p/f77ab41ae245
310 65.不用加减乘除做加法 http://www.jianshu.com/p/e1e77b010ecc
312 总结:不用新变量交换两个原有变量的值 http://www.jianshu.com/p/0eb31b8b1bcf
313 66.构建乘积数组 http://www.jianshu.com/p/fa1e332f7d92
318 67.把字符串转换成整数 http://www.jianshu.com/p/31dc58b9eca9
326 68.树中两个节点的最低公共祖先 http://www.jianshu.com/p/edffe43abc14
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 156,265评论 4 359
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,274评论 1 288
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 106,087评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,479评论 0 203
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 51,782评论 3 285
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,218评论 1 207
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,594评论 2 309
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,316评论 0 194
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 33,955评论 1 237
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,274评论 2 240
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,803评论 1 255
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,177评论 2 250
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,732评论 3 229
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 25,953评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,687评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,263评论 2 267
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,189评论 2 258

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 170,537评论 25 707
  • LeetCode 刷题随手记 - 第一部分 前 256 题(非会员),仅算法题,的吐槽 https://leetc...
    蕾娜漢默阅读 16,475评论 2 36
  • 喜乐操练90天——73《一同庆贺!》 一个罪人悔改,在天上也要这样为他欢喜,较比为九十九个不用悔改的义人欢喜更大。...
    午后的咖啡与茶阅读 328评论 0 0
  • 我只能说,我没有想到最后会变成这个样子。很累,心累,也很尴尬。 想说一句,以一个过来人的身份。能否喜欢这个社团部门...
    何阿禾阅读 300评论 2 2
  • 2017.12.28雨天,今天教练讲的程都是教我们怎么吸粉,今天的学习不理想,课后还得好好练练,做到所学的用到实践...
    陈瑞萍阅读 171评论 0 0