![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHL9kEWapnTYl1d5YFZ65kMMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL5IDNyUDMwcTM1ATNwkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
代码是参考
LeetCode
评论区中的大神写出来的,不知道为什么我就是不太会写递归类的算法。
嗯,下面的代码简单来说就是如果某个子树不存在用另一个子树去代替…
/**
* Definition for a binary tree node.
* function TreeNode(val) {
* this.val = val;
* this.left = this.right = null;
* }
*/
/**
* @param {TreeNode} t1
* @param {TreeNode} t2
* @return {TreeNode}
*/
var mergeTrees = function(t1, t2) {
if(t1&&t2){
let tree = new TreeNode(t1.val + t2.val)
tree.left = mergeTrees(t1.left, t2.left)
tree.right = mergeTrees(t1.right, t2.right)
return tree
}
return t1 || t2
};