摘要:
题目 链接:https://leetcode-cn.com/problems/merge-two-binary-trees 给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。 你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节 阅读全文
摘要:
题目 链接:https://leetcode-cn.com/problems/maximum-binary-tree 给定一个不含重复元素的整数数组。一个以此数组构建的最大二叉树定义如下: 二叉树的根是数组中的最大元素。 左子树是通过数组中最大值左边部分构造出的最大二叉树。 右子树是通过数组中最大值 阅读全文
摘要:
递归 思路: 直观的想法是从底向上遍历,如果发现p在当前节点左子树q在当前节点右子树或者p在当前节点右子树,q在当前节点左子树时则说明当前节点是p与q的最小公共祖先。 二叉树的后序遍历正好符合自底向上的遍历条件,因此使用后序遍历。这题由于要使用回溯所以返回值不能为空 class Solution { 阅读全文
摘要:
题目 链接:https://leetcode-cn.com/problems/binary-tree-paths 给定一个二叉树,返回所有从根节点到叶子节点的路径。 说明: 叶子节点是指没有子节点的节点。 示例: 输入: 1 / \ 2 3 \ 5 输出: ["1->2->5", "1->3"] 解 阅读全文
摘要:
题目 链接:https://leetcode-cn.com/problems/path-sum-ii 给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。 说明: 叶子节点是指没有子节点的节点。 示例: 给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 阅读全文
摘要:
题目 链接:https://leetcode-cn.com/problems/find-bottom-left-tree-value 给定一个二叉树,在树的最后一行找到最左边的值。 示例 1: 输入: 2 / \ 1 3 输出: 1 示例 2: 输入: 1 / \ 2 3 / / \ 4 5 6 / 阅读全文
摘要:
题目 链接:https://leetcode-cn.com/problems/sum-of-left-leaves 计算给定二叉树的所有左叶子之和。 示例: 3 / \ 9 20 / \ 15 7 在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24 递归 判断当前节点是不是左叶子是无 阅读全文