剑指Offer(第二版)Java例题详解

PS: 《剑指offer》是很多同学找工作都会参考的一本面试指南,同时也是一本算法指南(为什么它这么受欢迎,主要应该是其提供了一个循序渐进的优化解法,这点我觉得十分友好)。现在很多互联网的算法面试题基本上可以在这里找到影子,为了以后方便参考与回顾,现将书中例题用Java实现(第二版),欢迎各位同学一起交流进步。

GitHub: https://github.com/Uplpw/SwordOffer

所有例题题解: 点击这里

1 基础算法(必备工具)

主要提供一些经常使用基础算法实现(算是工具了),如数组的各种排序、二叉树的遍历等内容,之后若碰到其他基础算法,也会相应加入进来。

序号类型链接
1数组排序算法总结https://blog.csdn.net/qq_41866626/article/details/120477617
2二叉树遍历算法总结https://blog.csdn.net/qq_41866626/article/details/120483860

2 例题顺序

下面是所有例题在《剑指offer》书中的页码、题目、以及题解链接。(目前已经刷完(某些例题较难,就没有详细了解,直接走传送门吧),已整理完毕 !!!)

页码题目顺序题目链接
251赋值运算符函数https://blog.csdn.net/qq_41866626/article/details/120416469
322单例模式https://blog.csdn.net/qq_41866626/article/details/120434700
393数组中重复的数字https://blog.csdn.net/qq_41866626/article/details/120427881
444二维数组中的查找https://blog.csdn.net/qq_41866626/article/details/120440407
515替换空格https://blog.csdn.net/qq_41866626/article/details/120442211
586从尾到头打印链表https://blog.csdn.net/qq_41866626/article/details/120443008
627重建二叉树https://blog.csdn.net/qq_41866626/article/details/120449487
658二叉树的下一个节点https://blog.csdn.net/qq_41866626/article/details/120497887
689用两个栈实现队列https://blog.csdn.net/qq_41866626/article/details/120501601
7410斐波那契数列https://blog.csdn.net/qq_41866626/article/details/120502705
8211旋转数组的最小数字https://blog.csdn.net/qq_41866626/article/details/120502906
8912矩阵中的路径https://blog.csdn.net/qq_41866626/article/details/120504322
9213机器人的运动范围https://blog.csdn.net/qq_41866626/article/details/120505356
9614剪绳子https://blog.csdn.net/qq_41866626/article/details/120508369
10015二进制中1的个数https://blog.csdn.net/qq_41866626/article/details/120509462
11016数值的整数次方https://blog.csdn.net/qq_41866626/article/details/120510312
11417打印从1到最大的n位数https://blog.csdn.net/qq_41866626/article/details/120511818
11918删除链表的节点https://blog.csdn.net/qq_41866626/article/details/120513647
12419正则表达式匹配传送门 K神题解
12720表示数值的字符串https://blog.csdn.net/qq_41866626/article/details/120514642
12921调整数组顺序使奇数位于偶数前面https://blog.csdn.net/qq_41866626/article/details/120515282
13422链表中倒数第k个节点https://blog.csdn.net/qq_41866626/article/details/120515368
13923链表中环的入口节点https://blog.csdn.net/qq_41866626/article/details/120515497
14324反转链表https://blog.csdn.net/qq_41866626/article/details/120516871
14525合并两个有序链表https://blog.csdn.net/qq_41866626/article/details/120517032
14826树的子结构https://blog.csdn.net/qq_41866626/article/details/120517223
15727二叉树的镜像https://blog.csdn.net/qq_41866626/article/details/120517526
15928对称的二叉树https://blog.csdn.net/qq_41866626/article/details/120517676
16129顺时针打印矩阵https://blog.csdn.net/qq_41866626/article/details/120518035
16530包含min函数的栈https://blog.csdn.net/qq_41866626/article/details/120523872
16831栈的压入弹出序列https://blog.csdn.net/qq_41866626/article/details/120524374
17132从上到下打印二叉树https://blog.csdn.net/qq_41866626/article/details/120525566
17933二叉搜索树的后序遍历https://blog.csdn.net/qq_41866626/article/details/120528109
18234二叉树中和为某一值的路径https://blog.csdn.net/qq_41866626/article/details/120528322
18735复杂链表的复制https://blog.csdn.net/qq_41866626/article/details/120528588
19136二叉搜索树与双向链表https://blog.csdn.net/qq_41866626/article/details/120529445
19437序列化二叉树https://blog.csdn.net/qq_41866626/article/details/120530586
19738字符串的排列https://blog.csdn.net/qq_41866626/article/details/120531072
20539数组中出现次数超过一半的数字https://blog.csdn.net/qq_41866626/article/details/120532284
20940最小的k个数https://blog.csdn.net/qq_41866626/article/details/120537168
21441数据流中的中位数https://blog.csdn.net/qq_41866626/article/details/120538176
21842连续子数组的最大和https://blog.csdn.net/qq_41866626/article/details/120538708
221431~n整数中1出现的次数传送门 K神题解
22544数字序列中某一位的数字https://blog.csdn.net/qq_41866626/article/details/120544800
22745把数组排列成最小的数https://blog.csdn.net/qq_41866626/article/details/120545017
23146把数字翻译成字符串https://blog.csdn.net/qq_41866626/article/details/120547646
23347礼物的最大值https://blog.csdn.net/qq_41866626/article/details/120547996
23648最长不含重复字符的子字符串https://blog.csdn.net/qq_41866626/article/details/120548230
24049丑数https://blog.csdn.net/qq_41866626/article/details/120549930
24350第一个只出现一次的字符https://blog.csdn.net/qq_41866626/article/details/120550932
24951数组中的逆序对传送门 K神题解
25352两个链表的第一个公共节点https://blog.csdn.net/qq_41866626/article/details/120551959
26353数字在排序数组中出现的次数https://blog.csdn.net/qq_41866626/article/details/120552839
26954二叉搜索树的第k大节点https://blog.csdn.net/qq_41866626/article/details/120562754
27155二叉树的深度https://blog.csdn.net/qq_41866626/article/details/120563006
27556数组中只出现一次的两个数字https://blog.csdn.net/qq_41866626/article/details/120563228
28057和为s的数字https://blog.csdn.net/qq_41866626/article/details/120563754
28458翻转单词顺序https://blog.csdn.net/qq_41866626/article/details/120565644
28859滑动窗口的最大值https://blog.csdn.net/qq_41866626/article/details/120565822
29460n个骰子的点数传送门 K神题解
29861扑克牌中的顺子https://blog.csdn.net/qq_41866626/article/details/120566774
30062圆圈中最后剩下的数字https://blog.csdn.net/qq_41866626/article/details/120579706
30463股票的最大利润https://blog.csdn.net/qq_41866626/article/details/120567898
307641+2+...+nhttps://blog.csdn.net/qq_41866626/article/details/120568120
31065不用加减乘除做加法https://blog.csdn.net/qq_41866626/article/details/120568257
31266构建乘积数组https://blog.csdn.net/qq_41866626/article/details/120568342
31867把字符串转换成整数https://blog.csdn.net/qq_41866626/article/details/120580056
32668树中两个节点的最低公共祖先https://blog.csdn.net/qq_41866626/article/details/120580313

参考

在解决本书例题时,参考了一些大佬的题解,比如leetcode上的官方、K神,以及其他的博客,在之后的每个例题详解后都会给出参考的思路或者代码链接,同学们都可以点进去看看!

最后希望能和大家一起交流进步,拿到心仪的 offer !!!

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值