
Leetcode刷题-二叉树
无夜之凛冬
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Leetcode204 二叉树的最大深度
【题目描述】 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回它的最大深度 3 。 【解题思路】 对二叉树进行层序遍历,记录遍历过的层数。具体操作为,使用队列,...原创 2019-01-30 19:50:14 · 146 阅读 · 0 评论 -
Leetcode 617.合并二叉树
【题目描述】 给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。 你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。 示例 1: 输入: Tree 1 Tree 2 ...原创 2019-01-30 21:46:29 · 104 阅读 · 0 评论 -
Leetcode 226.翻转二叉树
题目描述 翻转一棵二叉树。 示例: 输入: 4 / \ 2 7 / \ / \ 1 3 6 9 输出: 4 / \ 7 2 / \ / \ 9 6 3 1 解题思路 首先,若为空树,直接返回根节点。若非空,将根节点的左右子树互换,然后递归遍历左右子树,将其左右子树互换。最后返回根节点。 代码 # Def...原创 2019-02-17 13:57:22 · 166 阅读 · 0 评论 -
Leetcode 105.从前序与中序遍历序列构造二叉树
题目描述 根据一棵树的前序遍历与中序遍历构造二叉树。 注意: 你可以假设树中没有重复的元素。 例如,给出 前序遍历 preorder = [3,9,20,15,7] 中序遍历 inorder = [9,3,15,20,7] 返回如下的二叉树: 3 / \ 9 20 / \ 15 7 解题思路 根据前序遍历,可以确定根节点。根据中序遍历,可以找到此根节点下左...原创 2019-03-01 15:20:18 · 105 阅读 · 0 评论 -
Leetcode 106.从中序与后序遍历序列构造二叉树
题目描述 根据一棵树的中序遍历与后序遍历构造二叉树。 注意: 你可以假设树中没有重复的元素。 例如,给出 中序遍历 inorder = [9,3,15,20,7] 后序遍历 postorder = [9,15,7,20,3] 返回如下的二叉树: 3 / \ 9 20 / \ 15 7 解题思路 由105.从前序与后序遍历序列构造二叉树一题中,得到了一种递归...原创 2019-03-01 15:27:45 · 166 阅读 · 0 评论 -
Leetcode 112.路径总和
题目描述 给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。 说明: 叶子节点是指没有子节点的节点。 示例: 给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 ...原创 2019-03-04 14:03:06 · 105 阅读 · 0 评论 -
Leetcode 236.二叉树的最近公共祖先
题目描述 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 例如,给定如下二叉树: root = [3,5,1,6,2,0,8,null,null,7,4] 示例 1: 输入: root = [3,...原创 2019-03-04 14:11:36 · 129 阅读 · 0 评论