617. 合并二叉树
作者:
名字是乱打的 | 来源:发表于
2021-12-27 02:14 被阅读0次
一 题目:
二 思路:
- 每次分别进行同一侧子树的判断,返回一个新结点;
- 如果其中一个子树不存在,那么直接用另外一个子树作为新树;
- 如果两个子树都存在,结合两个子树的值,并进行其左右孩子树的递归判断;
三 代码:
class Solution {
public TreeNode mergeTrees(TreeNode root1, TreeNode root2) {
TreeNode res = dfs(root1, root2);
return res;
}
//找出合并后的结点
private TreeNode dfs(TreeNode root1, TreeNode root2) {
if (root1==null){
return root2;
}
if (root2==null){
return root1;
}
TreeNode newNode = new TreeNode(root1.val + root2.val);
newNode.left=dfs(root1.left,root2.left);
newNode.right=dfs(root1.right,root2.right);
return newNode;
}
}
四 结果:
本文标题:617. 合并二叉树
本文链接:https://www.haomeiwen.com/subject/snieqrtx.html
网友评论