617. Merge Two Binary Trees
Input:
Tree 1 Tree 2
1 2
/ \ / \
3 2 1 3
/ \ \
5 4 7
Output:
Merged tree:
3
/ \
4 5
/ \ \
5 4 7// Recursion
TreeNode* mergeTrees(TreeNode* t1, TreeNode* t2) { // time: O(n); space: O(n)
if (!t1 && !t2) return nullptr;
int val = (t1 ? t1->val : 0) + (t2 ? t2->val : 0);
TreeNode* res = new TreeNode(val);
res->left = mergeTrees((t1 ? t1->left, nullptr), (t2 ? t2->left, nullptr));
res->right = mergeTrees((t1 ? t1->right : nullptr), (t2 ? t2->right : nullptr));
return res;
}Last updated