找BST里最近的值,用两次logn的搜索。注意递归过程中记录遇到过的closest。 看了题解可以不用递归,而且一次搜索中完成。 # Definition for a binary tree node. # class TreeNode: # def __init__(self, x): # sel ...
分类:
其他好文 时间:
2020-02-06 01:06:41
阅读次数:
59
题目 给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。 你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为?NULL 的节点将直接作为新二叉树的节点。 示例?1: 题解 中序遍历的递归方法。 代码 ...
分类:
其他好文 时间:
2020-02-02 16:14:46
阅读次数:
76
思路分析: 二叉树的题第一反应是应用递归遍历。 判断一棵平衡二叉树的依据是:1.结点的左右子树的深度是平衡二叉树,2.左子树的深度与右子树的深度的差不超过1 若所有的结点都符合这两条件则该树是一平衡二叉树。 利用“与”实现遇到错返回false,全部正确才返回true(之前一直不懂,终于清楚了) ...
分类:
编程语言 时间:
2020-01-31 12:08:46
阅读次数:
58
要注意边和节点数是不一样的 # Definition for a binary tree node. # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = None cl ...
分类:
其他好文 时间:
2020-01-31 10:21:14
阅读次数:
76
104. Maximum Depth of Binary Tree(二叉树的最大深度) 链接 https://leetcode cn.com/problems/maximum depth of binary tree 题目 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路 ...
分类:
其他好文 时间:
2020-01-30 21:16:36
阅读次数:
52
1302. Deepest Leaves Sum Given a binary tree, return the sum of values of its deepest leaves. Example 1: Input: root = [1,2,3,4,5,null,6,7,null,null,n ...
分类:
其他好文 时间:
2020-01-30 12:59:39
阅读次数:
85
这次首先总结二叉树的前序、中序、后序、层次遍历的递归与非递归实现。下次总结二叉树的查找、求二叉树的深度、统计节点个数与节点比较的递归实现。二叉树的结构定义为:12345678910public class { int val; TreeNode left; TreeNode right; TreeN... ...
分类:
其他好文 时间:
2020-01-29 12:33:19
阅读次数:
97
一、题目描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 二、代码 public class Solution { public static boolean HasSubtree(TreeNode root1, TreeNode root2) { b ...
分类:
其他好文 时间:
2020-01-28 21:30:34
阅读次数:
56
这一篇也是基于"打家劫舍"的扩展,需要针对特殊情况特殊考虑,当然其本质还是动态规划,优化时需要考虑数据结构。 <! more 原题 在上次打劫完一条街道之后和一圈房屋后,小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为“根”。 除了“根”之外,每栋房子有且只有一个“父“房子与之相连 ...
分类:
其他好文 时间:
2020-01-25 10:20:23
阅读次数:
60
题目大意 你有一棵以1为根的有根树,有n个点,每个节点初始有一个颜色c[i]。 有两种操作: 1 v c 将以v为根的子树中所有点颜色更改为c 2 v 查询以v为根的子树中的节点有多少种不同的颜色 $n\le400000,1\le c\left[i\right]\le60$ 题解 没啥技术含量的题。 ...
分类:
其他好文 时间:
2020-01-23 12:41:44
阅读次数:
92