摘要: 给出一个完全二叉树,求出该树的节点个数。 说明: 完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 个节点。 示例: 思路: 从根节点开始遍历左子树的高度和右子树的高度 左 阅读全文
posted @ 2018-09-20 18:10 yuyin 阅读(348) 评论(0) 推荐(0) 编辑
摘要: 给定二叉树根结点 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) 编辑