企业三合一建站公司怎么找,html5软件下载电脑版,韩国网站域名分类,wordpress嵌入php代码目录
题目#xff1a;
示例#xff1a;
分析#xff1a;
代码#xff1a; 题目#xff1a; 示例#xff1a; 分析#xff1a;
给我们合并两棵二叉树#xff0c;合并的方式就是把对应位置的节点的值相加#xff0c;最后把合并后的二叉树的根节点返回出去。
这类二…目录
题目
示例
分析
代码 题目 示例 分析
给我们合并两棵二叉树合并的方式就是把对应位置的节点的值相加最后把合并后的二叉树的根节点返回出去。
这类二叉树需要遍历的题目我们一般都是要递归的无论是前中后序哪一种遍历方式都是要递归的。
本题我们直接在调用函数里递归就可以了。
我们直接做个判断如果某个节点为空指针节点那么就返回另一个节点。
接着没有任何节点为空指针节点那么我们就把两个节点的值加起来赋给节点1。
接着进入递归节点1的左子树等于两个节点的左子树进入新的递归所返回的节点。
右子树也等于两个节点的右子树进入新的递归所返回的节点。
因为我们是把值相加到节点1的所以我们最后返回节点1即可。 代码
class Solution {
public:TreeNode* mergeTrees(TreeNode* root1, TreeNode* root2) {if(root1nullptr) return root2; //如果节点1为空返回节点2if(root2nullptr) return root1; //如果节点2为空返回节点1root1-valroot2-val; //直接修改节点1的值root1-leftmergeTrees(root1-left,root2-left); //递归修改节点1的左子树root1-rightmergeTrees(root1-right,root2-right); //递归修改节点1的右子树return root1; //直接返回节点1}
};