給定兩個二叉樹辖源,想象當你將它們中的一個覆蓋到另一個上時,兩個二叉樹的一些節(jié)點便會重疊希太。
你需要將他們合并為一個新的二叉樹克饶。合并的規(guī)則是如果兩個節(jié)點重疊,那么將他們的值相加作為節(jié)點合并后的新值誊辉,否則不為 NULL 的節(jié)點將直接作為新二叉樹的節(jié)點矾湃。
示例 1:
輸入:
Tree 1 Tree 2
1 2
/ \ / \
3 2 1 3
/ \ \
5 4 7
輸出:
合并后的樹:
3
/ \
4 5
/ \ \
5 4 7
注意: 合并必須從兩個樹的根節(jié)點開始。
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
public TreeNode mergeTrees(TreeNode t1, TreeNode t2) {
if (t1 == null)
return t2;
if (t2 == null)
return t1;
t1.val += t2.val;
t1.left = mergeTrees(t1.left, t2.left);
t1.right = mergeTrees(t1.right, t2.right);
return t1;
}
}