Problem LeetCode Given a binary search tree with non-negative values, find the minimum absolute difference between values of any two nodes. Example: I ...
分类:
编程语言 时间:
2021-01-21 10:55:51
阅读次数:
0
dfs 题解前递归 根节点是0,变量保存最大深度,如果当前深度大于最大深度就更新,返回最大深度 var maxDepth = function(root) { let maxDeep = 0 //最大深度 let dg = (root,deep = 0) => { //deep当前深度 if(roo ...
分类:
其他好文 时间:
2021-01-20 12:06:48
阅读次数:
0
一、HashMap和TreeMap区别1、HashMap是基于散列表实现的,时间复杂度平均能达到O(1)。 TreeMap基于红黑树(一种自平衡二叉查找树)实现的,时间复杂度平均能达到O(log n)。2、HashMap、TreeMap都继承AbstractMap抽象类;TreeMap实现Sorte ...
分类:
其他好文 时间:
2021-01-20 11:41:36
阅读次数:
0
124. 二叉树中的最大路径和 路径 被定义为一条从树中任意节点出发,沿父节点-子节点连接,达到任意节点的序列。该路径 至少包含一个 节点,且不一定经过根节点。 路径和 是路径中各节点值的总和。 给你一个二叉树的根节点 root ,返回其 最大路径和 。 示例 1: 输入:root = [1,2,3 ...
分类:
其他好文 时间:
2021-01-19 12:04:37
阅读次数:
0
114. 二叉树展开为链表 给定一个二叉树,原地将它展开为一个单链表。 例如,给定二叉树 1 / \ 2 5 / \ \ 3 4 6 将其展开为: 1 \ 2 \ 3 \ 4 \ 5 \ 6 方法一:递归先序遍历保存进List public void flatten(TreeNode root) { ...
分类:
其他好文 时间:
2021-01-19 11:40:59
阅读次数:
0
617. 合并二叉树 给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。 你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。 示例 1: 输入: Tree 1 ...
分类:
其他好文 时间:
2021-01-18 11:42:52
阅读次数:
0
此篇博客主要记录使用递归求解的树相关的算法题。 一、二叉树的最大深度 104. 给定一个二叉树,找出其最大深度。 (easy) 2021-01-13 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例:给定二叉树 [3,9,20,null,null ...
分类:
其他好文 时间:
2021-01-15 12:07:22
阅读次数:
0
树的构造 class TreeNode: def __init__(self,val,left=None,right=None): self.val=val self.left=left self.right=right t7 = TreeNode(7) t6 = TreeNode(6) t5 = ...
分类:
其他好文 时间:
2021-01-14 11:27:23
阅读次数:
0
package JianZhioffer; //剑指 Offer 36. 二叉搜索树与双向链表 /** * 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表。要求不能创建任何新的节点,只能调整树中节点指针的指向。 */ //中序遍历,二叉搜索树,中序遍历从小到大 import java ...
分类:
其他好文 时间:
2021-01-14 11:05:13
阅读次数:
0
题目 1 class Solution { 2 public: 3 int sum = 0; 4 int rangeSumBST(TreeNode* root, int low, int high) { 5 dfs(root,low,high); 6 return sum; 7 } 8 void d ...
分类:
其他好文 时间:
2021-01-14 11:04:51
阅读次数:
0