上一页 1 2 3 4 5 6 7 8 9 10 ··· 12 下一页
摘要: 给定二叉树根结点 root ,此外树的每个结点的值要么是 0,要么是 1。 返回移除了所有不包含 1 的子树的原二叉树。 ( 节点 X 的子树为 X 本身,以及所有 X 的后代。) 示例1: 解释: 只有红色节点满足条件“所有不包含 1 的子树”。 右图为返回的答案。 示例2: 示例3: 说明: 给 阅读全文
posted @ 2018-09-20 16:29 yuyin 阅读(61) 评论(0) 推荐(0) 编辑
摘要: 给定一个二叉搜索树,同时给定最小边界L 和最大边界 R。通过修剪二叉搜索树,使得所有节点的值在 中 (R =L) 。你可能需要改变树的根节点,所以结果应当返回修剪好的二叉搜索树的新的根节点。 思路: 递归 根节点为空时,返回None 根节点值小于L时,剪去根节点和左子树,修剪右子树 根节点值大于R时 阅读全文
posted @ 2018-09-20 14:46 yuyin 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 给定一个不含重复元素的整数数组。一个以此数组构建的最大二叉树定义如下: 二叉树的根是数组中的最大元素。 1. 左子树是通过数组中最大值左边部分构造出的最大二叉树。 2. 右子树是通过数组中最大值右边部分构造出的最大二叉树。 3. 通过给定的数组构建最大二叉树,并且输出这个树的根节点。 Example 阅读全文
posted @ 2018-09-20 14:01 yuyin 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 例如,给定如下二叉搜索树: root = [6, 阅读全文
posted @ 2018-09-19 17:31 yuyin 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 给定二叉搜索树(BST)的根节点和要插入树中的值,将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 保证原始二叉搜索树中不存在新值。 注意,可能存在多种有效的插入方式,只要树在插入后仍保持为二叉搜索树即可。 你可以返回任意有效的结果。 例如, 你可以返回这个二叉搜索树: 或者这个树也是有效的: 阅读全文
posted @ 2018-09-19 16:56 yuyin 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。 例如, 你应该返回如下子树: 在上述示例中,如果要找的值是 ,但因为没有节点值为 ,我们应该返回 。 思路: 采用递归的方法 根节点为空时,返回No 阅读全文
posted @ 2018-09-19 16:31 yuyin 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 示例: 给定的有序链表: , 一个可能的答案是: , 它可以表示下面这个高度平衡二叉搜索树: 思路: 将有序链表的数值读出,存入到列表 阅读全文
posted @ 2018-09-19 15:55 yuyin 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 示例: 给定有序数组: `[ 10, 3,0,5,9], 一个可能的答案是: ,它可以表示下面这个高度平衡二叉搜索树: 思路: 采用递归的方法, 阅读全文
posted @ 2018-09-19 15:32 yuyin 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 给定一个二叉树,在树的最后一行找到最左边的值。 示例 1: 示例 2: 注意: 您可以假设树(即给定的根节点)不为 NULL。 思路: 利用辅助队列, 每次pop一个节点时,检查左右子树是否为空,如果不为空,按照push右子树,再push左子树的顺序将子节点压入栈中 当队列最后为空时,最后一次pop 阅读全文
posted @ 2018-09-19 12:40 yuyin 阅读(78) 评论(0) 推荐(0) 编辑
摘要: 给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。 你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。 示例 1: 注意: 合并必须从两个树的根节点开始。 思 阅读全文
posted @ 2018-09-19 11:41 yuyin 阅读(77) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 12 下一页