题解 | #合并二叉树#
合并二叉树
https://www.nowcoder.com/practice/7298353c24cc42e3bd5f0e0bd3d1d759
双链表同时递归
/**
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* };
*/
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param t1 TreeNode类
* @param t2 TreeNode类
* @return TreeNode类
*/
//前序遍历基于跟左右
#include <stdlib.h>
//两个同时递归,前序
struct TreeNode* PreS(struct TreeNode* temp1,struct TreeNode* temp2){
if(temp1==NULL){
return temp2;
}
if(temp2 == NULL){
return temp1;
}
struct TreeNode* temp = (struct TreeNode*)malloc(sizeof(struct TreeNode));
temp->val = temp1->val+temp2->val;
temp->left = PreS(temp1->left, temp2->left);
temp->right = PreS(temp1->right,temp2->right);
return temp;
}
struct TreeNode* mergeTrees(struct TreeNode* t1, struct TreeNode* t2 ) {
// write code here
struct TreeNode* p = t1;
struct TreeNode* q = t2;
struct TreeNode* resul = (struct TreeNode*)malloc(sizeof(struct TreeNode));
resul->left = NULL;
resul->right = NULL;
resul = PreS(p,q);
return resul;
}

