leadcode的Hot100系列--617. 合并二叉树
程序员文章站
2022-07-02 16:18:24
合并,就是两个树的结构交集部分,数据相加,否则,取非空部分。 所以,这里相当于是对两棵树同时遍历: 如果两棵树节点都不为空,则数据相加, 否则,直接指针把不为空的节点复制过来。 注:这里没有申请内存,而直接对原有的树进行改造,这样可以节省申请内存的时间,且节省一些内存。 ......
合并,就是两个树的结构交集部分,数据相加,否则,取非空部分。
所以,这里相当于是对两棵树同时遍历:
如果两棵树节点都不为空,则数据相加,
否则,直接指针把不为空的节点复制过来。
注:这里没有申请内存,而直接对原有的树进行改造,这样可以节省申请内存的时间,且节省一些内存。
struct treenode* mergetrees(struct treenode* t1, struct treenode* t2){ struct treenode *ptemp = null; if ((null == t1) && (null == t2)) return null; else if ((null != t1) && (null != t2)) { ptemp = t1; ptemp->val = t1->val + t2->val; } else if (null != t1) { return t1; } else if (null != t2) { return t2; } ptemp->left = mergetrees(t1->left, t2->left); ptemp->right = mergetrees(t1->right, t2->right); return ptemp;
推荐阅读
-
leadcode的Hot100系列--155. 最小栈
-
leadcode的Hot100系列--64. 最小路径和--权值最小的动态规划
-
leadcode的Hot100系列--136. 只出现一次的数字
-
leadcode的Hot100系列--461. 汉明距离
-
leadcode的Hot100系列--62. 不同路径--简单的动态规划
-
leadcode的Hot100系列--347. 前 K 个高频元素--hash表+直接选择排序
-
leadcode的Hot100系列--78. 子集--回溯
-
leadcode的Hot100系列--617. 合并二叉树
-
leadcode的Hot100系列--二叉树创建和遍历
-
leadcode的Hot100系列--226. 翻转二叉树