617. Merge Two Binary Trees

root1,2のどちらかが存在しない場合はもう一方のTreeNodeを返し、両方のTreeNodeが存在しない場合は0を、そして両方のTreeNodeが存在する場合は数値を足す

class Solution {
public:
    TreeNode* mergeTrees(TreeNode* root1, TreeNode* root2) {
        if(!root1 && !root2){
            return 0;
        }
        if(!root1 ){
            return root2;
        }
        if(!root2 ){
            return root1;
        }
        root1->val += root2->val;
        
        root1->left = mergeTrees(root1->left,root2->left);
        root1->right = mergeTrees(root1->right,root2->right);
        return root1;        
    }
};