![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Leetcode刷题-二叉树
无夜之凛冬
这个作者很懒,什么都没留下…
展开
-
Leetcode204 二叉树的最大深度
【题目描述】给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度 3 。【解题思路】对二叉树进行层序遍历,记录遍历过的层数。具体操作为,使用队列,...原创 2019-01-30 19:50:14 · 96 阅读 · 0 评论 -
Leetcode 617.合并二叉树
【题目描述】给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。示例 1:输入: Tree 1 Tree 2 ...原创 2019-01-30 21:46:29 · 76 阅读 · 0 评论 -
Leetcode 226.翻转二叉树
题目描述翻转一棵二叉树。示例:输入: 4 / \ 2 7 / \ / \1 3 6 9输出: 4 / \ 7 2 / \ / \9 6 3 1解题思路首先,若为空树,直接返回根节点。若非空,将根节点的左右子树互换,然后递归遍历左右子树,将其左右子树互换。最后返回根节点。代码# Def...原创 2019-02-17 13:57:22 · 131 阅读 · 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 · 65 阅读 · 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 · 129 阅读 · 0 评论 -
Leetcode 112.路径总和
题目描述给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。说明: 叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 ...原创 2019-03-04 14:03:06 · 72 阅读 · 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 · 89 阅读 · 0 评论