leetcode 617. Merge Two Binary Trees
来源:互联网 发布:网络传播概论第四版 编辑:程序博客网 时间:2024/05/29 16:16
这个题目本质是对两棵树做遍历,同时生产一棵新的树,树的节点值就是原来两棵树节点值的和
刚开始我的思路如下:
class Solution {public: TreeNode* mergeTrees(TreeNode* t1, TreeNode* t2) { if(t1==NULL && t2==NULL) { return NULL; } else { TreeNode *node=new TreeNode((t1?t1->val:0) + (t2?t2->val:0) ); node->left=mergeTrees((t1->left,t2->left); node->right=mergeTrees(t1->right,t2->right); return node; } }};
但是报错了,错误为:member access within null pointer of type 'struct TreeNode' 意思是访问了空指针中的成员变量,例如t1==NULL,但是我用到了t1->left和t2->right,这个很明显是错误的。因此改完之后如下:
class Solution {public: TreeNode* mergeTrees(TreeNode* t1, TreeNode* t2) { if(t1==NULL && t2==NULL) //递归边界 { return NULL; } else { TreeNode *node=new TreeNode((t1?t1->val:0) + (t2?t2->val:0) ); //这种用法以前很少见到,值得铭记 node->left=mergeTrees((t1?t1->left:NULL),(t2?t2->left:NULL)); //用三元表达式来选择传入哪种参数 node->right=mergeTrees(t1?t1->right:NULL,(t2?t2->right:NULL)); return node; } }};
阅读全文
0 0
- [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
- [LeetCode]617. Merge Two Binary Trees<Java>
- 1001: [BeiJing2006]狼抓兔子 (最大流)
- 【bzoj】 1412: [ZJOI2009]狼和羊的故事
- 【bzoj】 1066: [SCOI2007]蜥蜴 (网络流)
- 【bzoj】 1070: [SCOI2007]修车
- 洛谷 P1037 产生数
- leetcode 617. Merge Two Binary Trees
- 2011 普及组 T4 表达式的值
- NOIP 2011 hotel
- noip 虫食算 (搜索)
- Vijos 波浪数
- 【模板】 最小费用最大流
- [ZJOI2010]网络扩容 (最大流 + 费用流)
- (HDU
- P2234 [HNOI2002]营业额统计 (权值线段树)