题解 | #合并二叉树#
合并二叉树
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; }