递归法实现二叉树的合并
617. 合并二叉树
难度简单
给你两棵二叉树: root1 和 root2 。
想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。你需要将这两棵树合并成一棵新二叉树。合并的规则是:如果两个节点重叠,那么将这两个节点的值相加作为合并后节点的新值;否则,不为 null 的节点将直接作为新二叉树的节点。
返回合并后的二叉树。
注意: 合并过程必须从两个树的根节点开始。
思路
对于树来说,大多数的题都可以通过递归来实现,本题也不例外
对于每一个节点,判断当前两颗树对应的节点是不是为null,
如果全都为null,则返回null如果一个为null,则返回另一颗树如果两个都不为null,则返回值为两个节点的和的新树,然后继续遍历这两个节点的左子节点和右子节点
package cn.edu.xjtu.carlWay.tree.mergeTwoBinaryTree;
递归法实现二叉树的合并最先出现在Python成神之路。
共有 0 条评论