题解 | #合并二叉树#
合并二叉树
http://www.nowcoder.com/practice/7298353c24cc42e3bd5f0e0bd3d1d759
function mergeTrees( t1 , t2 ) {
// write code here
// 法1:递归法
// return dfs(t1,t2)
// function dfs(root1,root2){
// if(!root1) return root2;
// if(!root2) return root1;
// root1.val += root2.val;
// // 单层递归
// root1.left=dfs(root1.left,root2.left);
// root1.right=dfs(root1.right,root2.right);
// return root1
// }
// 迭代法
if(!t1) return t2;
if(!t2) return t1;
if(!t1&&!t2) return null;
var queue=[t1,t2];
while(queue.length){
var root1=queue.shift();
var root2=queue.shift();
root1.val += root2.val;
if(root1.left && root2.left){
queue.push(root1.left,root2.left)
}
if(root1.right && root2.right){
queue.push(root1.right,root2.right)
}
if(!root1.left && root2.left) root1.left=root2.left
if(!root1.right && root2.right) root1.right=root2.right
}
return t1
}