617. Merge Two Binary Trees 發表於 2023-02-13 | 分類於 leetcode problemsolution123456789101112131415161718192021222324252627/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullptr) {} * TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} * TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {} * }; */class Solution {public: TreeNode* mergeTrees(TreeNode* root1, TreeNode* root2) { if(!root1 && !root2) return nullptr; if(!root1 || !root2) return root1?root1:root2; TreeNode * root = new TreeNode(0); root->val +=root1->val; root->val +=root2->val; root->left = mergeTrees(root1->left, root2->left); root->right = mergeTrees(root1->right, root2->right); return root; }}; analysis time complexity O(n) space complexity O(n)