一、题目大意给你二叉搜索树的根节点root,同时给定最小边界low和最大边界high。通过修剪二叉搜索树,使得所有节点的值在[low,high]中。修剪树不应该改变保留在树中的元素的相对结构(即,如果没有被移除,原有的父代子代关系都应当保留)。可以证明,存在唯一的答案。所以结果应当返回修剪好的二叉搜索树的新的根节点。注意,根节点可能会根据给定的边界发生改变。示例1:输入:root=[1,0,2],low=1,high=2输出:[1,null,2]示例2:输入:root=[3,0,4,null,2,null,null,1],low=1,high=3输出:[3,2,null,1]提示:树中节点数在
一、题目大意给定一个二叉树的根节点root,请找出该二叉树的最底层最左边节点的值。假设二叉树中至少有一个节点。示例1:输入:root=[2,1,3]输出:1示例2:输入:[1,2,3,4,null,5,6,null,null,7]输出:7提示:二叉树的节点个数的范围是[1,104]-231来源:力扣(LeetCode)链接:https://leetcode.cn/problems/find-bottom-left-tree-value著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。二、解题思路求二叉树的最左下树节点的值,也就是最后一行左数第一个值,可以用先序遍历来做,维护一
一、题目大意给你一棵二叉树的根节点root,翻转这棵二叉树,并返回其根节点。示例1:输入:root=[4,2,7,1,3,6,9]输出:[4,7,2,9,6,3,1]示例2:输入:root=[2,1,3]输出:[2,3,1]示例3:输入:root=[]输出:[]提示:树中节点数目范围在[0,100]内-100来源:力扣(LeetCode)链接:https://leetcode.cn/problems/invert-binary-tree著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。二、解题思路翻转二叉树是树的基本操作之一,可以使用递归和非递归两种方法。递归方法:交换当前左
一、题目大意给你两棵二叉树root和subRoot。检验root中是否包含和subRoot具有相同结构和节点值的子树。如果存在,返回true;否则,返回false。二叉树tree的一棵子树包括tree的某个节点和这个节点的所有后代节点。tree也可以看做它自身的一棵子树。示例1:输入:root=[3,4,5,1,2],subRoot=[4,1,2]输出:true示例2:输入:root=[3,4,5,1,2,null,null,null,null,0],subRoot=[4,1,2]输出:false提示:root树上的节点数量范围是[1,2000]subRoot树上的节点数量范围是[1,1000
一、题目大意给你两棵二叉树:root1和root2。想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。你需要将这两棵树合并成一棵新二叉树。合并的规则是:如果两个节点重叠,那么将这两个节点的值相加作为合并后节点的新值;否则,不为null的节点将直接作为新二叉树的节点。返回合并后的二叉树。注意:合并过程必须从两个树的根节点开始。示例1:输入:root1=[1,3,2,5],root2=[2,1,3,null,4,null,7]输出:[3,4,5,5,4,null,7]示例2:输入:root1=[1],root2=[1,2]输出:[2,2]提示:两棵树中的节点数
一、题目大意给你二叉搜索树的根节点root,同时给定最小边界low和最大边界high。通过修剪二叉搜索树,使得所有节点的值在[low,high]中。修剪树不应该改变保留在树中的元素的相对结构(即,如果没有被移除,原有的父代子代关系都应当保留)。可以证明,存在唯一的答案。所以结果应当返回修剪好的二叉搜索树的新的根节点。注意,根节点可能会根据给定的边界发生改变。示例1:输入:root=[1,0,2],low=1,high=2输出:[1,null,2]示例2:输入:root=[3,0,4,null,2,null,null,1],low=1,high=3输出:[3,2,null,1]提示:树中节点数在
一、题目大意给你二叉树的根节点root,返回它节点值的前序遍历。示例1:输入:root=[1,null,2,3]输出:[1,2,3]示例2:输入:root=[]输出:[]示例3:输入:root=[1]输出:[1]示例4:输入:root=[1,2]输出:[1,2]示例5:输入:root=[1,null,2]输出:[1,2]提示:树中节点数目在范围[0,100]内-100进阶:递归算法很简单,你可以通过迭代算法完成吗?来源:力扣(LeetCode)链接:https://leetcode.cn/problems/binary-tree-preorder-traversal著作权归领扣网络所有。商业转
一、题目大意给你二叉树的根节点root,返回它节点值的前序遍历。示例1:输入:root=[1,null,2,3]输出:[1,2,3]示例2:输入:root=[]输出:[]示例3:输入:root=[1]输出:[1]示例4:输入:root=[1,2]输出:[1,2]示例5:输入:root=[1,null,2]输出:[1,2]提示:树中节点数目在范围[0,100]内-100进阶:递归算法很简单,你可以通过迭代算法完成吗?来源:力扣(LeetCode)链接:https://leetcode.cn/problems/binary-tree-preorder-traversal著作权归领扣网络所有。商业转
一、题目大意给定两个整数数组preorder和inorder,其中preorder是二叉树的先序遍历,inorder是同一棵树的中序遍历,请构造二叉树并返回其根节点。示例1:输入:preorder=[3,9,20,15,7],inorder=[9,3,15,20,7]输出:[3,9,20,null,null,15,7]示例2:输入:preorder=[-1],inorder=[-1]输出:[-1]提示:1inorder.length==preorder.length-3000preorder和inorder均无重复元素inorder均出现在preorderpreorder保证为二叉树的前序遍历
一、题目大意给定两个整数数组preorder和inorder,其中preorder是二叉树的先序遍历,inorder是同一棵树的中序遍历,请构造二叉树并返回其根节点。示例1:输入:preorder=[3,9,20,15,7],inorder=[9,3,15,20,7]输出:[3,9,20,null,null,15,7]示例2:输入:preorder=[-1],inorder=[-1]输出:[-1]提示:1inorder.length==preorder.length-3000preorder和inorder均无重复元素inorder均出现在preorderpreorder保证为二叉树的前序遍历