
树
LeetCode 树
牧心.
心之所向,素履以往
展开
-
【LeetCode】从上到下打印二叉树 I、II、III【层次遍历】【队列】【双端队列】
1. 剑指 Offer 32 - I. 从上到下打印二叉树题目描述从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。输入例如:给定二叉树:[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回:[3,9,20,15,7]提示:节点总数 <= 1000题解【层次遍历】。最基础的层次遍历,借助队列实现。代码/** * Definition fo...原创 2021-09-26 00:19:56 · 14086 阅读 · 0 评论 -
【LeetCode】236. 二叉树的最近公共祖先
题目链接:https://leetcode-cn.com/problems/lowest-common-ancestor-of-a-binary-tree/题目描述给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”测试用例示例 1:输入:root = [3,5,1,6,2,0,8,n.原创 2021-08-22 19:41:17 · 11288 阅读 · 0 评论 -
【LeetCode】101. 对称二叉树
题目链接:https://leetcode-cn.com/problems/symmetric-tree/难度:简单题目描述给定一个二叉树,检查它是否是镜像对称的。例如,二叉树[1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2/ \ / \3 4 4 3但是下面这个[1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3题解递归。...原创 2021-04-23 23:54:54 · 18810 阅读 · 0 评论 -
【LeetCode】543. 二叉树的直径
题目链接:https://leetcode-cn.com/problems/diameter-of-binary-tree/难度:简单题目描述给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。测试用例给定二叉树 1 / \ 2 3 / \ 4 5 返回3, 它的长度是路径 [4,2,1,3]...原创 2021-04-26 23:17:21 · 19033 阅读 · 0 评论 -
【LeetCode】94. 二叉树的中序遍历
题目链接:https://leetcode-cn.com/problems/binary-tree-inorder-traversal/难度:简单题目描述给定一个二叉树的根节点 root ,返回它的 中序遍历。测试用例示例 1:输入:root = [1,null,2,3]输出:[1,3,2]示例 2:输入:root = []输出:[]示例 3:输入:root = [1]输出:[1]示例 4:输入:root = [1,2]输出:[2,1]..原创 2021-05-12 10:55:03 · 17809 阅读 · 0 评论 -
【LeetCode】104. 二叉树的最大深度
链接:https://leetcode-cn.com/problems/maximum-depth-of-binary-tree/难度:简单题目描述给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明:叶子节点是指没有子节点的节点。示例给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度3 。题解简单递归。各...原创 2021-04-21 22:16:04 · 18783 阅读 · 0 评论 -
【LeetCode】226. 翻转二叉树
链接:https://leetcode-cn.com/problems/invert-binary-tree/难度:简单题目描述翻转一棵二叉树。示例输入: 4 / \ 2 7/ \ / \1 3 6 9输出: 4 / \ 7 2/ \ / \9 6 3 1题解后序递归,交换左右子树。代码//Java/** * Definition for a bi...原创 2021-04-21 22:02:32 · 18849 阅读 · 0 评论 -
【LeetCode】617. 合并二叉树
链接:https://leetcode-cn.com/problems/merge-two-binary-trees/难度:简单题目描述给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为NULL 的节点将直接作为新二叉树的节点。示例输入: Tree 1 Tree 2 ...原创 2021-04-20 20:22:31 · 18855 阅读 · 0 评论