题解 | #合并二叉树#
合并二叉树
https://www.nowcoder.com/practice/7298353c24cc42e3bd5f0e0bd3d1d759
/**
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* };
*/
class Solution {
public:
/**
*
* @param t1 TreeNode类
* @param t2 TreeNode类
* @return TreeNode类
*/
TreeNode* mergeTrees(TreeNode* t1, TreeNode* t2) {
// 若只有一个节点,则返回另一个,两个都为空,则返回NULL
// if(!t1) return t2;
// else if(!t2) return t1;
// 根左右的方式递归(前序遍历)
// TreeNode* head = new TreeNode(t1->val + t2->val);
// head->left = mergeTrees(t1->left, t2->left);
// head->right = mergeTrees(t1->right, t2->right);
// return head;
if(!t1) return t2; // 如果t1为空,则返回的是t2
if(!t2) return t1; // 如果t2为空,则返回的是t1
// 修改了t1的数值和结构
t1->val += t2->val; // 中
t1->left = mergeTrees(t1->left, t2->left); // 左
t1->right = mergeTrees(t1->right, t2->right); // 右
return t1;
}
};
来自代码随想录~~~



