二叉树
周小兔的大管家
每天努力一点点,已负韶华,不可再虚度余生
展开
-
将有序数组转为平衡二叉搜索树【二叉树】
给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 高度平衡 二叉搜索树。高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。示例 1:输入:nums = [-10,-3,0,5,9]输出:[0,-3,9,-10,null,5]解释:[0,-10,5,null,-3,null,9] 也将被视为正确答案:示例 2:输入:nums = [1,3]输出:[3,1]原创 2023-03-14 11:01:28 · 151 阅读 · 0 评论 -
二叉搜索树中的插入操作【二叉树】
给定二叉搜索树(BST)的根节点 root 和要插入树中的值 value ,将值插入二叉搜索树。返回插入后二叉搜索树的根节点。输入数据 保证 ,新值和原始二叉搜索树中的任意节点值都不同。注意,可能存在多种有效的插入方式,只要树在插入后仍保持为二叉搜索树即可。你可以返回 任意有效的结果。原创 2023-03-14 09:56:45 · 161 阅读 · 0 评论 -
二叉树的最近公共祖先【二叉树】
给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。示例 1:输入:root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 1输出:3解释:节点 5 和节点 1 的最近公共祖先是节点 3。来源:力扣(LeetCode)著作权归领扣网络所有。原创 2023-03-13 14:41:34 · 96 阅读 · 0 评论 -
合并二叉树【二叉树】
给你两棵二叉树: root1 和 root2。想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。你需要将这两棵树合并成一棵新二叉树。合并的规则是:如果两个节点重叠,那么将这两个节点的值相加作为合并后节点的新值;否则,不为 null 的节点将直接作为新二叉树的节点。返回合并后的二叉树。注意: 合并过程必须从两个树的根节点开始。示例 1:输入:root1 = [1,3,2,5], root2 = [2,1,3,null,4,null,7]原创 2023-03-10 09:19:24 · 77 阅读 · 0 评论 -
最大二叉树【二叉树】
给定一个不重复的整数数组 nums。最大二叉树 可以用下面的算法从 nums 递归地构建:创建一个根节点,其值为 nums 中的最大值。递归地在最大值 左边 的 子数组前缀上 构建左子树。递归地在最大值 右边 的 子数组后缀上 构建右子树。返回 nums 构建的 最大二叉树。示例 1:输入:nums = [3,2,1,6,0,5]输出:[6,3,5,null,2,0,null,null,1]来源:力扣(LeetCode)著作权归领扣网络所有。原创 2023-03-09 17:11:07 · 77 阅读 · 0 评论 -
二叉树【从中序与后序遍历序列构造二叉树】
给定两个整数数组 inorder 和 postorder ,其中 inorder 是二叉树的中序遍历, postorder 是同一棵树的后序遍历,请你构造并返回这颗 二叉树。示例 1:输入:inorder = [9,3,15,20,7], postorder = [9,15,7,20,3]输出:[3,9,20,null,null,15,7]示例 2:输入:inorder = [-1], postorder = [-1]输出:[-1]来源:力扣(LeetCode)原创 2023-03-09 16:27:04 · 47 阅读 · 0 评论 -
二叉树【翻转二叉树】
给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。原创 2023-02-27 09:18:03 · 45 阅读 · 0 评论