Leetcode_617.合并二叉树

思路:

给了两个根节点,那不麻烦了。直接把第二棵树加到第一棵上面返回就好了。创建一个递归函数,递归合并就好了。

递归函数写法:

若第二棵子树为空,那加出来的结果和第一棵树相同,故直接返回即可。

若第二棵不为空,但第一棵为空,加出来的结果和第二棵相同,故直接将该点指向第二棵就行了。

两棵都不为空,则根节点相加,递归他们的孩子即可。

AC代码:

 1 void Create(TreeNode *&root, TreeNode *&an)
 2     {
 3         if (an == nullptr)
 4             return;
 5         if (root == nullptr)
 6         {
 7             root = an;
 8             return;
 9         }
10         else
11         {
12             root->val += an->val;
13         }
14         Create(root->left, an->left);
15         Create(root->right, an->right);
16     }
17     TreeNode *mergeTrees(TreeNode *root1, TreeNode *root2)
18     {
19         Create(root1, root2);
20         return root1;
21     }

 

上一篇:【HarmonyOS】【DevEco Studio】NOTE02 :Create a  “Hello World ”Application


下一篇:Conda 基本命令