Skip to content

Latest commit

 

History

History
24 lines (20 loc) · 736 Bytes

617. Merge Two Binary Trees.md

File metadata and controls

24 lines (20 loc) · 736 Bytes

思路

合并两个二叉树。就是一个很简单的递归:

  • t1t2任意一个为空,那么直接返回另一个即可(递归出口);
  • 否则,将t1的值加上t2的值,然后递归合并t1t2的左子树以及t1t2的右子树。

C++

class Solution {
public:
    TreeNode* mergeTrees(TreeNode* t1, TreeNode* t2) {
        if(t1 == NULL) return t2;
        if(t2 == NULL) return t1;
        
        t1 -> val += t2 -> val;
        t1 -> left = mergeTrees(t1 -> left, t2 -> left);
        t1 -> right = mergeTrees(t1 -> right, t2 -> right);
        delete t2;
        return t1;
    }
};