合并二叉树
题目链接
合并二叉树
题目描述
注意点
- 如果两个节点重叠,那么将这两个节点的值相加作为合并后节点的新值;否则,不为 null 的节点将直接作为新二叉树的节点
解答思路
- 先序遍历二叉树,将重叠部分节点值相加作为新节点的值,再以相同的步骤遍历左右子树即可
代码
class Solution {public TreeNode mergeTrees(TreeNode root1, TreeNode root2) {if (root1 == null) {return root2;}if (root2 == null) {return root1;}TreeNode node = new TreeNode();node.val = root1.val + root2.val;node.left = mergeTrees(root1.left, root2.left);node.right = mergeTrees(root1.right, root2.right);return node;}
}
关键点
- 先序遍历的思想
- 节点为null的情况判断