思路:构造一颗二叉树,递归计算左右子树的计算量, 再加上左子树矩阵*右子树矩阵的计算量。 坑:测试数据存在右括号多于左括号数量的情况,需要特殊处理一下。 import java.util.*; public class Main { public class Node { Node left, ri ...
分类:
其他好文 时间:
2020-07-07 12:58:09
阅读次数:
82
题目: 给定一个二叉树,检查它是否是镜像对称的。 例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \3 4 4 3 但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3 来源:力扣(LeetCode ...
分类:
编程语言 时间:
2020-07-07 12:53:28
阅读次数:
53
题目来源:leetcode104 二叉树的最大深度 题目描述: 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9,20,null,null,15,7] 返回它的最大深度 3 。 解题思路: ...
分类:
其他好文 时间:
2020-07-07 10:18:52
阅读次数:
80
题目来源:leetcode617 合并二叉树 题目描述: 给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。 你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点 ...
分类:
其他好文 时间:
2020-07-07 10:17:13
阅读次数:
67
题目来源:leetcode226 翻转二叉树 题目描述: 翻转一棵二叉树。 解题思路 递归 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *ri ...
分类:
其他好文 时间:
2020-07-07 10:00:25
阅读次数:
51
给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。 说明: 叶子节点是指没有子节点的节点。 示例: 给定如下二叉树,以及目标和 sum = 22, 返回 true, 因为存在目标和为 22 的根节点到叶子节点的路径 5->4->11->2。 来 ...
分类:
其他好文 时间:
2020-07-07 09:37:41
阅读次数:
50
112. 路径总和 给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。 说明: 叶子节点是指没有子节点的节点。 示例: 给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ \ 7 2 1 返回 ...
分类:
编程语言 时间:
2020-07-07 09:23:38
阅读次数:
102
//通过有序数组生成平衡搜索二叉树 public static Node generateTree(int[] arr){ if(arr==null){ return null; } return generate(arr,0,arr.length-1); } private static Node ...
分类:
编程语言 时间:
2020-07-07 00:16:03
阅读次数:
67
构建一颗二叉树,以列表形式打印 public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int val){ this.val = val; } } import java.util.ArrayList;impo ...
分类:
其他好文 时间:
2020-07-07 00:00:49
阅读次数:
113
题目: 求给定的二叉树的前序遍历。 例如: 给定的二叉树为{1,#,2,3}, 1 2 / 3 返回:[1,2,3] 代码: 1 /** 2 * struct TreeNode { 3 * int val; 4 * struct TreeNode *left; 5 * struct TreeNode ...
分类:
其他好文 时间:
2020-07-06 17:50:18
阅读次数:
44