Java教程

合并二叉树(Java)

本文主要是介绍合并二叉树(Java),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

合并二叉树

(牛客网—牛客题霸算法篇—NC117)

题目描述

已知两颗二叉树,将它们合并成一颗二叉树。合并规则是:都存在的结点,就将结点值加起来,否则空的位置就由另一个树的结点来代替。
例如
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

思路

Java实现
递归

代码实现

import java.util.*;
/*
 * public class TreeNode {
 *   int val = 0;
 *   TreeNode left = null;
 *   TreeNode right = null;
 * }
 */
public class Solution {
    public TreeNode mergeTrees (TreeNode t1, TreeNode t2) {
        // write code here
        if(t1==null&&t2!=null) {
            return t2;
        }else if(t2==null&&t1!=null){
            return t1;
        }else if(t1!=null&&t2!=null){
            t1.val=t1.val+t2.val;
            t1.left=mergeTrees(t1.left,t2.left);
            t1.right=mergeTrees(t1.right,t2.right);
        }
        return t1;
    }
}
这篇关于合并二叉树(Java)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!