【剑指offer】Java版代码(完整版)

本文整理了《剑指offer》一书中算法题目的Java实现,包括赋值运算、单例模式、链表操作、二叉树问题等,所有代码已在OJ验证通过。同时提供了GitHub仓库链接和PDF下载选项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、引言
《剑指offer》可谓是程序猿面试的神书了,在面试中帮了我很多,大部分面试的算法题都会遇到原题或者是类似的题。但是书上的代码都是C版的,我在这里整理了一份Java版的代码供大家学习参考,这些代码我都是在OJ上跑过全AC的,所以正确性你大可放心。

二、目录
赋值运算函数
单例设计模式
二维数组中查找目标值
替换字符串中的空格
从尾到头打印链表
由前序和中序遍历重建二叉树
用两个栈实现队列
求旋转数组的最小数字
斐波那契数列的第n项(青蛙跳台阶)
二进制中1的个数
数值的整数次方
打印1到最大的n位数
O(1)时间删除链表节点
使数组中的奇数位于偶数前面
找链表中倒数第K个节点
输出反转后的链表
合并两个有序链表
判断二叉树A中是否包含子树B
二叉树的镜像
顺时针打印矩阵
包含min函数的栈
判断一个栈是否是另一个栈的弹出序列
层序遍历二叉树
后序遍历二叉搜索树
二叉树中和为某值的路径
复杂链表的复制
二叉搜索树转换为双向链表
打印字符串中所有字符的排列
数组中出现次数超过一半的数字
找出最小的K个数
连续子数组的最大和
从1到整数n中1出现的次数
把数组中的数排成一个最小的数
求第N个丑数
第一个出现一次的字符
数组中逆序对的个数
两个链表的第一个公共节点
数字在排序数组中出现的次数
二叉树的深度
数组中只出现一次的两个数,而其他数都出现两次。
和为s的连续整数序列
翻转字符串
n个骰子的点数及出现的概率
扑克牌的顺子
圆圈中最后剩下的数
1+2+3+…+n的和
不用加减乘除做加法
不能被继承的类
字符串转换为整数
树中两个节点的最低公共祖先
找出重复的数
构建乘积数组
正则表达式匹配
表示数值的字符串
字符流中第一个不重复的字符
链表中环的入口节点
删除链表中重复的节点
二叉树的下一个节点
对称的二叉树
按之字形顺序打印二叉树
把二叉树打印成多行
序列化二叉树
二叉搜索树的第K个节点
数据流中的中位数
滑动窗口的最大值
矩阵中的路径
机器人的运动范围
注:红色字体的题目是热门面试题。

三、代码实现
1-10题
11-20题
21-30题
31-40题
41-50题
51-67题
GitHub地址:https://github.com/GaoLeiQin/SwordOffer

四、PDF下载
————————————————
版权声明:本文为CSDN博主「白夜行515」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/baiye_xing/article/details/78428561

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值