Merge Two Binary Trees - Tree - Easy - LeetCode
💻 coding

Merge Two Binary Trees - Tree - Easy - LeetCode

1 min read 242 words
1 min read
ShareWhatsAppPost on X
  • 1The algorithm merges two binary trees by summing overlapping node values and using non-null nodes when one tree lacks a corresponding node.
  • 2The merging process begins at the root nodes of both trees and recursively merges left and right children.
  • 3The time and space complexity of the merging algorithm is O(m+n), where m and n are the number of nodes in the two trees.

AI-generated summary · May not capture all nuances

Key Insight
AskGif

"The algorithm merges two binary trees by summing overlapping node values and using non-null nodes when one tree lacks a corresponding node."

Merge Two Binary Trees - Tree - Easy - LeetCode

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 binary tree. The merge rule is that if two nodes overlap, then sum node values up as the new value of the merged node. Otherwise, the NOT null node will be used as the node of new tree.

Example 1:

Input: Tree 1 Tree 2 1 2 / \ / \ 3 2 1 3 / \ \ 5 4 7 Output: Merged tree: 3 / \ 4 5 / \ \ 5 4 7

Note: The merging process must start from the root nodes of both trees.

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 * public int val;
 * public TreeNode left;
 * public TreeNode right;
 * public TreeNode(int val=0, TreeNode left=null, TreeNode right=null) {
 * this.val = val;
 * this.left = left;
 * this.right = right;
 * }
 * }
 */
public class Solution {
 public TreeNode MergeTrees(TreeNode t1, TreeNode t2) {
 if(t1==null && t2==null){
 return null;
 }
 
 TreeNode root = new TreeNode();
 if(t1 != null){
 root.val += t1.val;
 } 
 
 if(t2 != null){
 root.val += t2.val;
 }
 
 root.left = MergeTrees(t1==null?null:t1.left,t2==null?null:t2.left);
 root.right = MergeTrees(t1==null?null:t1.right,t2==null?null:t2.right);
 return root;
 }
}

Time Complexity: O(m+n)

Space Complexity: O(m+n)

Where m and n are the nodes of tree t1 and tree t2.

Enjoyed this article?

Share it with someone who'd find it useful.

ShareWhatsAppPost on X

sumitc91

Published on 8 October 2020 · 1 min read · 242 words

Part of AskGif Blog · coding

You might also like

Merge Two Binary Trees - Tree - Easy - LeetCode | AskGif Blog