鱼C论坛

 找回密码
 立即注册
查看: 2182|回复: 1

[技术交流] C++刷LeetCode(617. 合并二叉树)【树】

[复制链接]
发表于 2020-6-29 14:06:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
题目描述:
  1. 给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。

  2. 你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。

  3. 示例 1:

  4. 输入:
  5.         Tree 1                     Tree 2                  
  6.           1                         2                             
  7.          / \                       / \                           
  8.         3   2                     1   3                        
  9.        /                           \   \                     
  10.       5                             4   7                  
  11. 输出:
  12. 合并后的树:
  13.              3
  14.             / \
  15.            4   5
  16.           / \   \
  17.          5   4   7
  18. 注意: 合并必须从两个树的根节点开始。

  19. 来源:力扣(LeetCode)
  20. 链接:https://leetcode-cn.com/problems/merge-two-binary-trees
  21. 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
复制代码


  1. /**
  2. * Definition for a binary tree node.
  3. * struct TreeNode {
  4. *     int val;
  5. *     TreeNode *left;
  6. *     TreeNode *right;
  7. *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
  8. * };
  9. */
  10. class Solution {
  11. public:
  12.     TreeNode* mergeTrees(TreeNode* t1, TreeNode* t2) {
  13.         if(t1 == NULL) return t2;
  14.         if(t2 == NULL) return t1;
  15.         t1 -> val += t2 -> val;
  16.         t1 -> left = mergeTrees(t1 -> left, t2 -> left);
  17.         t1 -> right = mergeTrees(t1 -> right, t2 -> right);
  18.         return t1;
  19.     }
  20. };
复制代码

本帖被以下淘专辑推荐:

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-6-29 14:09:15 | 显示全部楼层
对于leetcode上树类型题,我总不明白要返回什么
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-8-6 17:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表