617. Merge Two Binary Trees
来源:互联网 发布:淘宝的优点和缺点 编辑:程序博客网 时间:2024/06/10 15:36
问题描述:将两个二叉树对应节点的值相加,得到一个新的二叉树。
原答案:
public TreeNode mergeTrees(TreeNode t1, TreeNode t2) { if(t1==null) return t2; if(t2==null) return t1; TreeNode result=new TreeNode(0); result.val=t1.val+t2.val; result=calculateNode(result,t1,t2); return result; } private TreeNode calculateNode(TreeNode result,TreeNode t1, TreeNode t2){ result.val=t1.val+t2.val; if(t1.left==null){ if(t2.left!=null){ result.left=t2.left; } }else if(t2.left==null){ result.left=t1.left; }else{ result.left=new TreeNode(0); result.left=calculateNode(result.left,t1.left,t2.left); } if(t1.right==null){ if(t2.right!=null) result.right=t2.right; }else if(t2.right==null){ result.right=t1.right; } else{ result.right=new TreeNode(0); result.right=calculateNode(result.right,t1.right,t2.right); } return result; }
最佳答案:
public TreeNode mergeTrees(TreeNode t1, TreeNode t2) { if (t1 == null) { return t2; } if (t2 == null) { return t1; } t1.val += t2.val; t1.left = mergeTrees(t1.left, t2.left); t1.right = mergeTrees(t1.right, t2.right); return t1; }
简洁而又完美的递归
阅读全文
0 0
- 617. Merge Two Binary Trees
- 617. Merge Two Binary Trees
- 617. Merge Two Binary Trees
- 617. Merge Two Binary Trees
- 617. Merge Two Binary Trees
- 617. Merge Two Binary Trees
- 617. Merge Two Binary Trees
- 617. Merge Two Binary Trees
- 617. Merge Two Binary Trees
- 617. Merge Two Binary Trees
- 617. Merge Two Binary Trees
- 617. Merge Two Binary Trees
- 617. Merge Two Binary Trees
- 617. Merge Two Binary Trees
- 617. Merge Two Binary Trees
- 617. Merge Two Binary Trees
- 617. Merge Two Binary Trees
- 617. Merge Two Binary Trees
- Python 库、技巧
- (一)java基础篇笔记库(6)
- leetcode_726. Number of Atoms ? 待解决
- ogreopcode编译笔记
- 使用CoIDE调试STM32单片机
- 617. Merge Two Binary Trees
- 云星数据---Scala实战系列(精品版)】:Scala入门教程017-Scala实战源码-Scala 创建对象 以及类的介绍
- Spring MVC
- 关于java执行命令的一些(调本地的命令 调远程主机的命令 在后台执行命令)
- 最小路径覆盖问题
- Git常用命令
- [BZOJ]2120 数颜色 带修改莫队
- C++包含头文件中<>和""的区别
- 串行总线--差分线(差分互连)基本原理及优缺点