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 mergeTrees (TreeNode t1, TreeNode t2) { // write code here if (t1 == null && t2 == null) { return null; } if (t1 != null && t2 == null) { return t1; } if (t1 == null && t2 != null) { return t2; } if (t1 != null && t2 != null) { t1.val += t2.val; } merge (t1, t2); return t1; } private void merge (TreeNode t1, TreeNode t2) { if (t2.left != null || t2.right != null) { if (t2.left != null) { if (t1.left == null) { t1.left = new TreeNode(t2.left.val); } else { t1.left.val += t2.left.val; } merge(t1.left, t2.left); } if (t2.right != null) { if (t1.right == null) { t1.right = new TreeNode(t2.right.val); } else { t1.right.val += t2.right.val; } merge(t1.right, t2.right); } } } }