题解 | #合并二叉树#

合并二叉树

http://www.nowcoder.com/practice/7298353c24cc42e3bd5f0e0bd3d1d759

import java.util.*;

/*
 * public class TreeNode {
 *   int val = 0;
 *   TreeNode left = null;
 *   TreeNode right = null;
 * }
 */

public class Solution {
    /**
     * 
     * @param t1 TreeNode类 
     * @param t2 TreeNode类 
     * @return TreeNode类
     */
    public TreeNode preOrder(TreeNode t1, TreeNode t2){
        if(t1 == null && t2 == null){
            return null;
        }
        TreeNode root;
        int val = 0;
        if(t1 != null){
            val += t1.val;
        }
        if(t2 != null){
            val += t2.val;
        }
        root = new TreeNode(val);
        if(t1 != null && t2 != null){
            root.left = preOrder(t1.left,t2.left);
            root.right = preOrder(t1.right,t2.right);
        }else if(t1 == null){
            root.left = preOrder(null,t2.left);
            root.right = preOrder(null,t2.right);
        }else{
            root.left = preOrder(t1.left,null);
            root.right = preOrder(t1.right,null);
        }
        
        return root;
        
    }
    public TreeNode mergeTrees (TreeNode t1, TreeNode t2) {
        // write code here
        return preOrder(t1,t2);
    }
}
全部评论

相关推荐

程序员小白条:这比例牛逼,750:1
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务