题目: 解答: 1 /** 2 * Definition for a binary tree node. 3 * struct TreeNode { 4 * int val; 5 * TreeNode *left; 6 * TreeNode *right; 7 * TreeNode(int x) : ...
分类:
其他好文 时间:
2020-05-09 13:03:22
阅读次数:
62
题目描述 给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。 你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为?NULL 的节点将直接作为新二叉树的节点。 示例: 题目链接: https://leet ...
分类:
其他好文 时间:
2020-05-09 01:33:21
阅读次数:
90
在做毕设时,由于前后端都需要开发,当时用EasyUI设计。但是在做下拉框时比较麻烦,所以就封装了一个枚举扩展类。 下面开始: /// <summary> /// 枚举扩展类 /// </summary> public static class EnumExtension { /// <summary ...
分类:
Web程序 时间:
2020-05-08 17:52:34
阅读次数:
85
题目:输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)。 解答: 1 class Solution { 2 bool isSubtree(TreeNode* pRootA, TreeNode* pRootB) 3 { 4 if (pRootB == NULL ...
分类:
其他好文 时间:
2020-05-06 20:07:58
阅读次数:
62
思路:前序是根左右,前序序列第一个元素一定是根。中序是左,根,右。根节点左边一定是左子树,右边一定是右子树。 树没有重复元素,所以,先找出根节点,初始化一个TreeNode root,再根据数值相同,找中序遍历里面的根节点,之后用Arrays.copyOfRange(preorder,1,num+1 ...
分类:
其他好文 时间:
2020-05-06 12:18:34
阅读次数:
53
1 /** 2 * Definition for a binary tree node. 3 * struct TreeNode { 4 * int val; 5 * TreeNode *left; 6 * TreeNode *right; 7 * TreeNode(int x) : val(x), ...
分类:
其他好文 时间:
2020-05-06 11:59:27
阅读次数:
66
方法一: long pre=Long.MIN_VALUE; public boolean isValidBST3(TreeNode root){ if(root==null) return true; if(!isValidBST3(root.left)) return false; if(root ...
分类:
其他好文 时间:
2020-05-06 01:18:21
阅读次数:
60
用递归即可 因为是二叉搜索树,也就是根大于左子节点,根小于右子节点,这就好办了,对于每个可能的根节点,求出所有左右子树的集合,双循环配对 /** * Definition for a binary tree node. * public class TreeNode { * int val; * T ...
分类:
其他好文 时间:
2020-05-05 10:57:51
阅读次数:
61
思路:前序遍历,也就是“根,左,右”的顺序去遍历,递归思路简单,不细说了,把res,结果集合设置成全局变量就行 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; ...
分类:
其他好文 时间:
2020-05-04 15:15:58
阅读次数:
53
题目: 解答: 方法一:深度优先搜索 思路与算法: 我们先进行一次深度优先搜索,获取这颗树中的所有节点的值。然后,就可以判断所有节点的值是不是都相等了。 1 /** 2 * Definition for a binary tree node. 3 * struct TreeNode { 4 * in ...
分类:
其他好文 时间:
2020-05-03 16:53:20
阅读次数:
53