摘要:
题目定义: 给你一个树,请你 按中序遍历 重新排列树,使树中最左边的结点现在是树的根, 并且每个结点没有左子结点,只有一个右子结点。 示例 : 输入:[5,3,6,2,4,null,8,1,null,null,null,7,9] 5 / \ 3 6 / \ \ 2 4 8 / / \ 1 7 9 输 阅读全文
摘要:
Leetcode 872 叶子相似的树 题目定义: 请考虑一棵二叉树上所有的叶子,这些叶子的值按从左到右的顺序排列形成一个 叶值序列。 3 / \ 5 1 / | | \ 6 2 9 8 / \ 7 4 举个例子,如上图所示,给定一棵叶值序列为 (6, 7, 4, 9, 8) 的树。 如果有两棵二叉 阅读全文
摘要:
Leetcode 700 二叉搜索树中的搜索 题目定义: 给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。 例如, 给定二叉搜索树: 4 / \ 2 7 / \ 1 3 和值: 2 你应该返回如下子 阅读全文
摘要:
Leetcode 二叉树中第二小的节点 题目定义: 给定一个非空特殊的二叉树,每个节点都是正数,并且每个节点的子节点数量只能为 2 或 0。 如果一个节点有两个子节点的话,那么该节点的值等于两个子节点中较小的一个。 更正式地说,root.val = min(root.left.val, root.r 阅读全文
摘要:
Leetcode 669 修剪二叉搜索树 数据结构定义: 给你二叉搜索树的根节点 root ,同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树,使得所有节点的值在[low, high]中。修剪树不应该改变保留在树中的元素的相对结构(即,如果没有被移除,原有的父代子代关系都应当保留)。 阅读全文
摘要:
Leetcode 653 两数之和IV - 输入BST 数据结构定义: 给定一个二叉搜索树和一个目标结果,如果 BST 中存在两个元素且它们的和等于给定的目标结果,则返回 true。 案例 1: 输入: 5 / \ 3 6 / \ \ 2 4 7 Target = 9 输出: True 案例 2: 阅读全文
摘要:
Leetcode 637二叉树的层平均值 数据结构定义: 给定一个非空二叉树, 返回一个由每层节点平均值组成的数组。 示例 1: 输入: 3 / \ 9 20 / \ 15 7 输出:[3, 14.5, 11] 解释: 第 0 层的平均值是 3 , 第1层是 14.5 , 第2层是 11 。因此返回 阅读全文
摘要:
Leetcode 617 合并二叉树 数据结构定义: 给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。 你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。 阅读全文
摘要:
Leetcode 606 根据二叉树创建字符串 数据结构定义: 你需要采用前序遍历的方式,将一个二叉树转换成一个由括号和整数组成的字符串。 空节点则用一对空括号 "()" 表示。而且你需要省略所有不影响字符串与原始二叉树之间的一对一映射关系的空括号对。 示例 1: 输入: 二叉树: [1,2,3,4 阅读全文
摘要:
Leetcode 589 N叉树的前序遍历 数据结构定义: 给定一个 N 叉树,返回其节点值的前序遍历。 例如,给定一个 3叉树 : 1 / | \ 3 2 4 / \ 5 6 返回其前序遍历: [1,3,5,6,2,4]。 说明: 递归法很简单,你可以使用迭代法完成此题吗? /* // Defin 阅读全文