一、題目說明
題目617. Merge Two Binary Trees,合併兩個二叉樹。難度是Easy!
二、我的解答
這個題目,用遞歸解法非常簡單,同二叉樹的遞歸遍歷。
class Solution{
public:
TreeNode* mergeTrees(TreeNode* t1,TreeNode* t2){
if(t1==NULL) return t2;
if(t2==NULL) return t1;
int cur = t1->val + t2->val;
TreeNode* root = new TreeNode(cur);
root->left = mergeTrees(t1->left,t2->left);
root->right = mergeTrees(t1->right,t2->right);
return root;
}
};
性能如下:
Runtime: 52 ms, faster than 46.21% of C++ online submissions for Merge Two Binary Trees.
Memory Usage: 26.1 MB, less than 5.55% of C++ online submissions for Merge Two Binary Trees.
三、優化措施
非遞歸算法就不寫了。