class Solution {
public TreeNode mergeTrees(TreeNode root1, TreeNode root2) {
// 对于任意一个节点,如果树1存在而树2不存在,返回子树1,否则返回子树2
if (root1 == null || root2 == null) return rootExist(root1, root2);
// 两棵树的该节点都有值,进行合并处理
TreeNode node = new TreeNode(root1.val + root2.val);
// 左右子树继续递归
node.left = mergeTrees(root1.left, root2.left);
node.right = mergeTrees(root1.right, root2.right);
return node;
}
private TreeNode rootExist(TreeNode root1, TreeNode root2) {
if (root1 == null) {
return root2;
} else {
return root1;
}
}
}
刷题笔记 Hot100 617. 合并二叉树
最新推荐文章于 2024-07-09 23:43:07 发布