Leetcode题解-617. Merge Two Binary Trees
来源:互联网 发布:angular.js中文社区 编辑:程序博客网 时间:2024/06/07 00:43
Leetcode题解-617. Merge Two Binary Trees
Given two binary trees and imagine that when you put one of them to cover the other, some nodes of the two trees are overlapped while the others are not.
You need to merge them into a new binary tree. The merge rule is that if two nodes overlap, then sum node values up as the new value of the merged node. Otherwise, the NOT null node will be used as the node of new tree.
Example 1:
Input:
Tree 1 Tree 2
1 2
/ \ / \
3 2 1 3
/ \ \
5 4 7
Output:
Merged tree:
3
/ \
4 5
/ \ \
5 4 7
Note: The merging process must start from the root nodes of both trees.
思路
这根遍历一棵二叉树的思路是一样的,这里用先序遍历的方法。需要注意的小细节就是t1、t2是否为空以及传给左右子树的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* mergeTrees(TreeNode* t1, TreeNode* t2) { if(t1 == NULL && t2 == NULL) return NULL; TreeNode* result = new TreeNode(((t1 == NULL) ? 0 : t1->val) + ((t2 == NULL) ? 0 : t2->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; }};
- Leetcode题解-617. Merge Two Binary Trees
- [leetcode]617. Merge Two Binary Trees
- leetcode.617.Merge Two Binary Trees
- [leetcode]: 617. Merge Two Binary Trees
- [Leetcode]617. Merge Two Binary Trees
- LeetCode 617. Merge Two Binary Trees (C++)
- LeetCode 617. Merge Two Binary Trees
- [LeetCode] 617. Merge Two Binary Trees
- LeetCode 617. Merge Two Binary Trees
- 【Leetcode】617. Merge Two Binary Trees
- [LeetCode]617.Merge Two Binary Trees
- LeetCode: 617. Merge Two Binary Trees
- Leetcode 617. Merge Two Binary Trees
- [leetcode]617. Merge Two Binary Trees
- [Leetcode] 617. Merge Two Binary Trees
- [LeetCode]617. Merge Two Binary Trees
- leetcode 617. Merge Two Binary Trees
- 【LeetCode】617. Merge Two Binary Trees
- elastic search 基本操作
- 提示错误:arm-linux-gcc: Command not found
- Linux常用命令大全
- 开始进行AI学习
- 如何成为自己所在领域内前1%的顶尖人才? 凤凰科技 09-29 07:42 原标题:如何成为自己所在领域内前1%的顶尖人才? 有时你会觉得,可能你永远也实现自己的梦想。你清楚地知道自己想做什么,但有
- Leetcode题解-617. Merge Two Binary Trees
- 【BZOJ】1452 [JSOI2009]Count 树套树
- Industrial Society and its Future
- 很好用的一个轮播图
- 【BZOJ1057】【ZJOI2007】棋盘制作
- iOS11及XCode升级后的问题收集
- android 保存ArrayList<Object>至SharedPreferences
- JSP(2)—绝对路径与相对路径、配置Servlet与Servlet注解
- Maven使用