腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
大闲人柴毛毛
专栏成员
举报
189
文章
259783
阅读量
63
订阅数
订阅专栏
申请加入专栏
全部文章(189)
java(45)
其他(23)
编程算法(19)
linux(18)
jvm(13)
spring(10)
数据结构(10)
数据库(7)
javascript(6)
二叉树(6)
容器(5)
缓存(5)
云数据库 Redis(4)
http(4)
html(3)
存储(3)
面向对象编程(3)
微服务(3)
factory(3)
key(3)
费用中心(2)
云数据库 SQL Server(2)
sql(2)
容器镜像服务(2)
人工智能(2)
分布式(2)
shell(2)
网络安全(2)
jdk(2)
mybatis(2)
架构设计(2)
break(2)
case(2)
程序设计(2)
c++(1)
android(1)
汇编语言(1)
oracle(1)
access(1)
mvc(1)
eclipse(1)
git(1)
maven(1)
消息队列 CMQ 版(1)
压力测试(1)
爬虫(1)
ssh(1)
yum(1)
spring boot(1)
jdbc(1)
grep(1)
aop(1)
tcp/ip(1)
udp(1)
安全(1)
https(1)
系统架构(1)
kafka(1)
builder(1)
component(1)
decorator(1)
input(1)
product(1)
ps(1)
public(1)
set(1)
void(1)
备份(1)
代理(1)
队列(1)
设计(1)
算法(1)
搜索文章
搜索
搜索
关闭
剑指 offer代码解析——面试题39二叉树的深度
二叉树
题目:输入一颗二叉树的根结点,求该树的深度。从根结点到叶结点一次经过的结点形成树的一条路径,最长路径的长度为树的深度。 分析:本题是一道典型的“分治法”。要求一棵二叉树的高度,我们可以将问题分解,先分别求左右子树的高度,然后取较大值加一即为整棵二叉树的高度。接下来按照这种思路继续求左右子树的高度,直到子树为叶子结点时,此时树(即叶子结点)的高度为1。 /** * 题目:输入一颗二叉树的根结点,求该树的深度。从根结点到叶结点一次经过的结点形成树的一条路径,最长路径的长度为树的深度。 * @author
大闲人柴毛毛
2018-03-09
796
0
剑指 offer代码解析——面试题39判断平衡二叉树(高效方法)
二叉树
题目:输入一颗二叉树的根结点,判断该树是不是平衡二叉树。 如果某二叉树中任意结点的左右子树的高度相差不超过1,那么它就是一棵平衡二叉树。 分析:所谓平衡二叉树就是要确保每个结点的左子树与右子树的高度差在-1到1之间。 由于之前一题已经给出了二叉树高度的计算方法,因此本题最直观的思路就是分别计算每个结点的左子树高和右子树高,从而判断一棵树的所有结点是否均为平衡二叉树。 上一篇博客中采用了一种较为常规的思路,但由于涉及到重复计算子树的高度,因此性能并不好,接下来提出一种从下而上,依次判断每个子树是否为
大闲人柴毛毛
2018-03-09
1.2K
0
剑指offer代码解析——面试题19二叉树的镜像
二叉树
分析:所谓“镜像”就是从镜子里看到的样子。我们可以画一棵二叉树,然后画出该二叉树的镜像。画完图之后我们会发现,所谓“二叉树的镜像”就是把二叉树中所有子树的左孩子和右孩子进行交换。因此需要遍历二叉树所有的结点,在遍历的同时交换非叶子结点的左右子树。遍历我们可以使用先序遍历,首先判断当前根结点是否为叶子结点,若非叶子结点,则交换左右孩子,然后再分别对左右孩子进行相同的操作。 首先,我们需要构造二叉树的结点类,一个结点中包含一个数据域data、一个左孩子left、一个右孩子right,代码如下:
大闲人柴毛毛
2018-03-09
706
0
剑指offer代码解析——面试题23从上往下打印二叉树
二叉树
本题的详细分析过程均在代码注释中: import java.util.Queue; import java.util.concurrent.LinkedBlockingQueue; /** * 题目:从上到下打印二叉树的结点,同一层的结点按照从左到右的顺序打印。 * @author 大闲人柴毛毛 * @date 2016年3月15日 */ public class PrintBinaryTree { /** * 分析:学过数据结构便可知,本题实则为宽度优先遍历二叉树。 * 在数据结构中,
大闲人柴毛毛
2018-03-09
623
0
剑指offer代码解析——面试题24二叉搜索树的后序遍历序列
二叉树
本题有bug,欢迎大神指教! /** * 题目:输入一个整数数组,判断该数组书不是某二叉搜索数的后序遍历的结果。如果是返回true,否则返回false。假设输入的数组的任意两个数字都互不重复。 * @author 大闲人柴毛毛 * @date 2016年3月15日 */ public class SearchTree { /** * 分析:看过题目后本题最直观的思路就是通过后序遍历序列还原这棵二叉树,然后判断该二叉树是否为二叉搜索树。 * 然而学过数据结构就会知道,如果给一棵二叉树的中序遍
大闲人柴毛毛
2018-03-09
672
0
剑指offer代码解析——面试题25二叉树中和为某一值的路径
二叉树
题目:输入一棵二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。PS:从根结点开始,一直到叶子结点形式一条路径。 分析:要找出路径之和为指定整数的路径,就需要遍历二叉树的所有路径。此外,由于路径是指根结点到叶子结点的线段,因此我们想到采用深度优先的方式遍历二叉树。深度优先算法又分为:先序遍历、中序遍历、后序遍历,其中先序遍历符合我们的要求。 首先需要创建一个栈,用来保存当前路径的结点。采用先序遍历算法遍历结点时,先将途中经过的结点均存入栈中,然后判断当前结点是否为叶子结点,若不是叶子结点
大闲人柴毛毛
2018-03-09
624
0
没有更多了
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
立即查看
Python精品学习库
代码在线跑,知识轻松学
立即查看
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
立即体验
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
立即查看
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档