Easy to understand recursive Java solution


  • 0
    W

    If both trees are null, return null. If either one is not null, return another. If both trees are not null, merge their roots and recursively merge the left and right subtrees.

    public class Solution {
        public TreeNode mergeTrees(TreeNode t1, TreeNode t2) {
            if (t1 == null && t2 == null) return null;
            if (t1 != null && t2 == null) return t1;
            if (t1 == null && t2 != null) return t2;
            
            TreeNode root = new TreeNode(t1.val + t2.val);
            root.left = mergeTrees(t1.left, t2.left);
            root.right = mergeTrees(t1.right, t2.right);
            return root;
        }
    }
    

Log in to reply
 

Looks like your connection to LeetCode Discuss was lost, please wait while we try to reconnect.