剑指offer题目详细版本(3)

简介: 剑指offer题目详细版本(3)

二、树的结构

1、二叉树的深度

2、按之字形顺序打印二叉树

3、二叉搜索树的第k个节点

4、重建二叉树

5、树的子结构

6、二叉树的镜像

7、从上往下打印二叉树

8、二叉搜索树的后序遍历序列

9、二叉树中和为某一值的路径(一)

10、二叉树中和为某一值的路径(二)

11、二叉搜索树与双向链表

12、判断是不是平衡二叉树

13、二叉树的下一个结点

14、对称的二叉树

15、把二叉树打印成多行

16、序列化二叉树

17、二叉树中和为某一值的路径(三)

18、在二叉树中找到两个节点的最近公共祖先

19、二叉搜索树的最近公共祖先

三、队列 & 栈

1、用两个栈实现队列

2、包含min函数的栈

3、栈的压入、弹出序列

4、翻转单词序列

5、滑动窗口的最大值

四、搜索算法

1、数字在升序数组中出现的次数


2、二维数组中的查找


3、旋转数组的最小数字


4、字符串的排列


5、数字序列中某一位的数字


五、动态规划

1、连续子数组的最大和


2、连续子数组的最大和(二)


3、斐波那契数列


4、正则表达式匹配


5、跳台阶扩展问题


6、矩形覆盖


7、买卖股票的最好时机(一)


8、礼物的最大价值


9、最长不含重复字符的子字符串


10、把数字翻译成字符串


六、回溯

1、矩阵中的路径


2、机器人的运动范围


七、排序

1、数组中重复的数字


2、数组中的逆序对


3、最小的K个数


4、数据流中的中位数


八、位运算

1、不用加减乘除做加法


2、二进制中1的个数


3、数值的整数次方


4、数组中只出现一次的两个数字


5、求1+2+3+…+n


九、模拟

1、顺时针打印矩阵


2、扑克牌顺子


3、把字符串转换成整数(atoi)


4、表示数值的字符串


十、其他算法

1、构建乘积数组


2、第一个只出现一次的字符


3、替换空格


4、调整数组顺序使奇数位于偶数前面(一)


5、数组中出现次数超过一半的数字


6、整数中1出现的次数(从1到n整数中1出现的次数)


7、把数组排成最小的数


8、丑数


9、和为S的连续正数序列


10、和为S的两个数字


11、左旋转字符串


12、孩子们的游戏(圆圈中最后剩下的数)


13、字符流中第一个不重复的字符


14、剪绳子


15、调整数组顺序使奇数位于偶数前面(二)


16、剪绳子(进阶版)


17、打印从1到最大的n位数


目录
相关文章
|
区块链 Python
图片转ico
图片转ico
518 0
|
存储 Java 数据库
Android数据存储:什么是Room Persistence Library?
Android数据存储:什么是Room Persistence Library?
258 0
|
机器学习/深度学习 人工智能 自然语言处理
告别繁琐阅读,阿里通义智文阅读助手带您轻松畅游知识海洋!
阿里通义智文阅读助手是款AI阅读辅助工具,能高效解析PPT、图片、PDF等,提供智能摘要、关键词提取等功能。用户可上传图片文件,助手自动识别文字,支持图表识别和全 文搜索。此外,它还具备智能问答功能,帮助用户理解和提问文档内容。工具支持多种文件格式,但有每日使用限制。由木头左分享,期待更多精彩!
|
敏捷开发 测试技术 BI
禅道:从安装到使用,一篇文章带你全面了解
禅道:从安装到使用,一篇文章带你全面了解
2786 3
|
安全 网络安全 开发工具
【GitHub】清空 GitHub 仓库中的所有内容,只保留 `README.md` 文件
【GitHub】清空 GitHub 仓库中的所有内容,只保留 `README.md` 文件
399 2
|
12月前
|
存储 Java
java数据结构,线性表链式存储(单链表)的实现
文章讲解了单链表的基本概念和Java实现,包括头指针、尾节点和节点结构。提供了实现代码,包括数据结构、接口定义和具体实现类。通过测试代码演示了单链表的基本操作,如添加、删除、更新和查找元素,并总结了操作的时间复杂度。
java数据结构,线性表链式存储(单链表)的实现
|
11月前
|
数据安全/隐私保护
(只需五步)注册谷歌账号详细步骤,解决“此电话号码无法验证”问题
注册google一直不方便,因为如果直接去google官网注册,那么它大概率会显示“此电话号码无法用于进行验证”接下来,按着教程来一步步做,就可以实现跳过此限制,成功用手机号注册google了。很简单的。
14247 1
|
监控 Linux 数据处理
探索Linux命令needs-restarting:了解哪些服务需要重启
`needs-restarting`是Linux中用于检测因文件更新需重启的服务的工具。它对比服务状态与文件修改时间,快速识别需重启的服务,提供详细输出和可配置选项。命令参数如`--all`检查所有服务,`--service`针对特定服务,`--verbose`显示详细信息。使用时注意权限,谨慎重启,定期检查,并与其他系统管理工具结合使用。修改配置后,应运行此命令确保更新生效。
|
监控 安全 Shell
深入探究App压力测试的关键要点:从零开始学习Monkey
Monkey是Google的自动化测试工具,用于模拟用户随机事件以测试应用的稳定性和压力。它可以在模拟器或设备上运行,通过随机点击发现潜在问题。
|
算法 Java
【力扣经典面试题】12. 整数转罗马数字
【力扣经典面试题】12. 整数转罗马数字