摘要: 给定一个二叉搜索树和一个目标结果,如果 BST 中存在两个元素且它们的和等于给定的目标结果,则返回 true。 案例 1: 输入: 5 / \ 3 6 / \ \2 4 7 Target = 9 输出: True 来源:力扣(LeetCode)链接:https://leetcode-cn.com/p 阅读全文
posted @ 2019-07-09 01:17 往南的小燕子 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 示例: 给定的有序链表: [-10, -3, 0, 5, 9], 一个可能的答案是:[0, -3, 9, -10, null, 5], 阅读全文
posted @ 2019-07-07 00:51 往南的小燕子 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 示例: 给定有序数组: [-10,-3,0,5,9], 一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉 阅读全文
posted @ 2019-07-06 23:34 往南的小燕子 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 例如,给定如下二叉搜索树: root = [6, 阅读全文
posted @ 2019-07-05 01:14 往南的小燕子 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater Tree),使得每个节点的值是原来的节点值加上所有大于它的节点值之和。 例如: 输入: 二叉搜索树: 5 / \ 2 13 输出: 转换为累加树: 18 / \ 20 13 来源:力扣(LeetCode) 阅读全文
posted @ 2019-07-05 00:26 往南的小燕子 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k 个最小的元素。 说明:你可以假设 k 总是有效的,1 ≤ k ≤ 二叉搜索树元素个数。 示例 1: 输入: root = [3,1,4,null,2], k = 1 3 / \ 1 4 \ 2输出: 1 来源:力扣(Leet 阅读全文
posted @ 2019-07-01 01:07 往南的小燕子 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 给定一个二叉搜索树,同时给定最小边界L 和最大边界 R。通过修剪二叉搜索树,使得所有节点的值在[L, R]中 (R>=L) 。你可能需要改变树的根节点,所以结果应当返回修剪好的二叉搜索树的新的根节点。 示例 1: 输入: 1 / \ 0 2 L = 1 R = 2 输出: 1 \ 2 来源:力扣(L 阅读全文
posted @ 2019-07-01 00:08 往南的小燕子 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 给定一个二叉树,在树的最后一行找到最左边的值。 示例 1: 阅读全文
posted @ 2019-06-30 00:22 往南的小燕子 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 给定一个非空二叉树, 返回一个由每层节点平均值组成的数组. 示例 1: 输入: 3 / \ 9 20 / \ 15 7输出: [3, 14.5, 11]解释:第0层的平均值是 3, 第1层是 14.5, 第2层是 11. 因此返回 [3, 14.5, 11]. 来源:力扣(LeetCode)链接:h 阅读全文
posted @ 2019-06-29 23:50 往南的小燕子 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 给定一个非空特殊的二叉树,每个节点都是正数,并且每个节点的子节点数量只能为 2 或 0。如果一个节点有两个子节点的话,那么这个节点的值不大于它的子节点的值。 给出这样的一个二叉树,你需要输出所有节点中的第二小的值。如果第二小的值不存在的话,输出 -1 。 示例 1: 输入: 2 / \ 2 5 / 阅读全文
posted @ 2019-06-29 23:07 往南的小燕子 阅读(450) 评论(0) 推荐(0) 编辑