654.最大二叉树
文档讲解:代码随想录
1. 不知道咋做。
2. 找到数组最大值,将数组划分为左右数组,然后递归构造二叉树,当数组长度为1时,构造二叉树节点然后返回。
3. 在递归生成左右子树时需要判断划分的数组长度是否不为1,生成的节点递归创建左右子树有意义。
4. 用了一天的零散时间。
617.合并二叉树
1. 不知道咋做。
2. 同时操作两棵树t1,t2, 可以直接用t1或t2根节点返回,递归的终止条件是如果t1为null,则返回t2, 如果t2为null则返回t1, 比如同时遍历t1和t2时,两颗树都有值直接进行相加操作,其中一个为null则返回另一个节点,依次递归处理左子树和右子树。
3. 同时操作两棵树t1,t2, 可以直接用t1或t2根节点返回,递归的终止条件是如果t1为null,则返回t2, 如果t2为null则返回t1, 比如同时遍历t1和t2时,两颗树都有值直接进行相加操作,其中一个为null则返回另一个节点,依次递归处理左子树和右子树。
4. 用了两天的零散时间。
700. 二叉搜索树中的搜索
文档讲解:代码随想录
1. 不知道咋做。
2. 二叉搜索树根节点的值大于左子树的值,小于右子树的值,根据数值的大小自动选择递归调用选择返回左子树 / 右子树节点。迭代法通过循环和节点值选择方向。
3. 二叉搜索树根节点的值大于左子树的值,小于右子树的值,根据数值的大小自动选择递归调用选择返回左子树 / 右子树节点。迭代法通过循环和节点值选择方向。
4. 用了两天的零散时间。
98.验证二叉搜索树
文档讲解:代码随想录
视频讲解:你对二叉搜索树了解的还不够! | LeetCode:98.验证二叉搜索树_哔哩哔哩_bilibili
状态:基于双指针的还没有做。
1. 不知道咋做。
2. 通过生成一个中序遍历的数组,检查数组是否单调递增即可判断是否是二叉搜索树;通过设置一个变量记录前一个变量节点的数值,然后在每次遍历时通过比较前序遍历的中节点的值和记录的变量的大小关系,如果当前节点的值大于变量记录的值,则可能是二叉搜索树,否则不是二叉搜索书。
3. 用生成数组判断递增中用到了双指针,后一个指针当>= length - 1时就需要跳出循环,while循环最下面判断后指针位于数组最后一个元素位置则跳出循环;JavaScript中定义最小值-Math.min()
4.用了两天的零散时间。