算法期中——合并二叉树
来源:互联网 发布:mac 查看系统运行程序 编辑:程序博客网 时间:2024/05/16 09:55
合并二叉树
题目
Description
输入两个二叉树T1和T2,要求对T1和T2进行合并. 合并是指将二叉树同一位置节点上的数求和,作为合并后二叉树相应位置节点的数值. 如果某个位置上只有一个二叉树有节点,则合并后的二叉树对应位置上的节点上的数值就等于这个节点上的数值.
例如:
T1 T2 1 2 / \ / \ 3 2 1 3 / \ \ 5 4 7 合并后: 3 / \ 4 5 / \ \ 5 4 7
T1和T2的结点数均不多于100000,每个结点的数值在1和1000之间.
请为下面的Solution类实现解决上述问题的merge函数,函数的两个参数T1和T2分别代表两个二叉树的根节点,函数返回值为合并后的二叉树的根节点.
/**// Definition for a binary tree node.struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) {}}; */class Solution {public: TreeNode* merge(TreeNode* T1, TreeNode* T2) { }};
相似题目链接
解决
class Solution {public: TreeNode* merge(TreeNode* T1, TreeNode* T2) { if (T1 != NULL && T2 != NULL) { struct TreeNode * root = new TreeNode(T1->val + T2->val); root->left = merge(T1->left, T2->left); root->right = merge(T1->right, T2->right); return root; } else if (T1 == NULL && T2 != NULL) { return T2; } else if (T1 != NULL && T2 == NULL) { return T1; } else { return NULL; } }};
阅读全文
0 0
- 算法期中——合并二叉树
- 算法期中 合并二叉树
- 算法期中1002. 合并二叉树
- 算法期中——分组
- 算法期中——最小差
- 算法期中——最近的0
- 算法期中——最小和
- 算法分析与设计期中测试——最小和
- 算法期中——拓扑序[Special judge]
- 算法期中——最长公共子串
- ACM程序设计选修课——Problem D: (ds:树)合并果子(最优二叉树赫夫曼算法)
- 算法分析与设计期中测试——拓扑序[Special judge]
- 算法期中1000. 分组
- [算法期中] 分组
- 算法期中 拓补序
- 算法期中 最小差
- 算法期中 最小和
- JAVA期中作业——弹球游戏
- matlab、1
- Hibernate之缓存详解
- The Best Path ----HDU
- 关于Java反射机制中的Field简单尝试与示例以及说明
- 解决Spring中singleton的Bean依赖于prototype的Bean的问题
- 算法期中——合并二叉树
- Android Studio提升开发效率小技巧
- jQuery基础
- Python time模块
- 数据结构-位图(可对海量数据进行处理)
- php.ini配置
- Oracle数据库对象的逻辑、物理、内存结构
- main方法
- 2 编写一个应用程序,用户分别从两个文本框输入学生的姓名和分数,程序按成绩排序将这些学生的姓名和分数显示在一个文本区中。 程序运行效果如图: