题目:给两个二叉树,两边都非空的就把数字相加,一边为空就以不为空的一边来创建节点,最后两个二叉树形成一个二叉树。
解题思路:一开始就是想着这个递归是最好实现的,但是最后的返回没有想明白,基本的框架都对了,细节没做好。附上代码:
public TreeNode mergeTrees(TreeNode t1, TreeNode t2) {
if(t1==null && t2==null)return null;
int val=(t1==null?0:t1.val)+(t2==null?0:t2.val);
TreeNode result=new TreeNode(val);
result.left=mergeTrees(t1 == null ? null : t1.left, t2 == null ? null : t2.left);
result.right=mergeTrees(t1 == null ? null : t1.right, t2 == null ? null : t2.right);
return result;
}
网友评论