前提 如果题目求解目标是S规则,则求解流程可以定成以每一个节点为头节点的子树在S规则下的每一个答案,并且最终答案一定在其中。 套路: 以某个节点X为头节点的子树中,分析答案有哪些可能性,并且这种分析是以X的左子树、X的右子树和X整棵树的角度来考虑可能性的 根据第一步的可能性分析,列出所有需要的信息 ...
分类:
其他好文 时间:
2020-06-21 11:53:26
阅读次数:
79
题目描述 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回它的最大深度 3 。 题目链接: https ...
分类:
其他好文 时间:
2020-06-15 23:10:47
阅读次数:
64
题目描述: 给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明:叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7],返回深度为3 深度优先遍历:先序遍历,可递归,可用栈 //C 递归 int maxDepth(st ...
分类:
其他好文 时间:
2020-06-13 10:36:10
阅读次数:
57
题目描述 输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 题目链接: https://www.nowcoder.com/practice/435fb86331474282a3499955f0a41e8b?tpId=13&tqI ...
分类:
其他好文 时间:
2020-06-09 09:34:55
阅读次数:
74
Given a binary tree, determine if it is height-balanced. For this problem, a height-balanced binary tree is defined as: a binary tree in which the lef ...
分类:
其他好文 时间:
2020-05-30 10:23:54
阅读次数:
65
树的直径与重心 树的直径求解方法一 思路 先选取一个点rt作为根节点,dfs去找到一个最长路径的点U,然后通过这个点去dfs,找到路径最长的点V,U->V就是这课树的直径。 证明正确性: 假如rt在直径上的话,最长路径的点U一定是直径的一个端点,这一点是显然的。 假如rt不在直径上,那么从这个点出发 ...
分类:
其他好文 时间:
2020-05-28 13:09:59
阅读次数:
66
题目: 二叉树的最大深度:给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 思路: 借助层序遍历来做,有多少层树就有多深。 程序: # Definition for a binary tree node. # clas ...
分类:
编程语言 时间:
2020-05-19 11:06:30
阅读次数:
164
一、思维导图 二、重要概念 1.DFS 时间复杂度为 O(n+e) 。 2.BFS 时间复杂度为 O(n+e) 。 3.最小生成树 1)Prim算法 时间复杂度为 O(n n) ,所以更适用于 稠密图 。 2) Kruskal算法 时间复杂度为 O(elog2e) ,所以更适用于 稀疏图 。 4.最 ...
分类:
其他好文 时间:
2020-05-17 21:45:57
阅读次数:
110
题目描述 输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 思路 https://www.nowcoder.com/questionTerminal/435fb86331474282a3499955f0a41e8b?f=disc ...
分类:
其他好文 时间:
2020-04-29 17:58:37
阅读次数:
49
一、概念 在一棵树中找到距离根节点最远的两个点,这两个点之间的距离为树的直径 二、算法 1.求法:求树的直径的方法就是在树上任选一点u,求距离点u最远的点y,再求距离点y最远的点s,点y到点s的距离即为树的直径。 2.证明:假设此树的最长路径是从s到t,我们选择的点为u。反证法:假设搜到的点是v。 ...
分类:
其他好文 时间:
2020-04-23 23:32:16
阅读次数:
117