已知两颗二叉树,将它们合并成一颗二叉树。合并规则是:都存在的结点,就将结点值加起来,否则空的位置就由另一个树的结点来代替 Java
时间: 2024-05-15 07:15:07 浏览: 43
合并二叉树1
代码如下:
```
class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int x) { val = x; }
}
public TreeNode mergeTrees(TreeNode t1, TreeNode t2) {
if (t1 == null && t2 == null) {
return null;
} else if (t1 == null) {
return t2;
} else if (t2 == null) {
return t1;
} else {
TreeNode merged = new TreeNode(t1.val + t2.val);
merged.left = mergeTrees(t1.left, t2.left);
merged.right = mergeTrees(t1.right, t2.right);
return merged;
}
}
```
思路:
递归地合并两棵树的每个节点,合并规则是将两棵树对应节点的值相加。若其中一棵树为空,则返回另一棵树。否则,对应节点的左右子树分别递归合并。
阅读全文