Given two binary trees and imagine that when you putoneof them to cover the other, some nodes ofthetwo trees are overlapped whilethe others are not.
You need tomerge them intoanew binary tree. The merge rule is that iftwo nodes overlap, thensum node values up asthenewvalueofthe merged node. Otherwise, the NOT null node will be used asthe node ofnew tree.
Example 1:
Input:
Tree 1 Tree 212
/ \ / \
3213
/ \ \
547
Output:
Merged tree:
3
/ \
45
/ \ \
547
Note: The merging process must start fromthe root nodes of both trees.
代码
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/classSolution {
public TreeNode mergeTrees(TreeNode t1, TreeNode t2) {
if(t1==null&&t2==null)
returnnull;
TreeNode head = new TreeNode(((t1!=null)?t1.val:0)+((t2!=null)?t2.val:0));
head.left = mergeTrees(t1==null? null:t1.left, t2==null? null:t2.left);
head.right = mergeTrees(t1==null? null:t1.right, t2==null? null:t2.right);
return head;
}
}
题目Given two binary trees and imagine that when you put one of them to cover the other, some nodes of the two trees are overlapped while the others are not.You need to merge them into a new binar...