牛客题霸 [合并二叉树] C++题解/答案
生活随笔
收集整理的這篇文章主要介紹了
牛客题霸 [合并二叉树] C++题解/答案
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
牛客題霸 [合并二叉樹] C++題解/答案
題目描述
已知兩顆二叉樹,將它們合并成一顆二叉樹。合并規則是:都存在的結點,就將結點值加起來,否則空的位置就由另一個樹的結點來代替。例如:
兩顆二叉樹是:
Tree 1
1
/ \
3 2
/
5
Tree 2
2
/
1 3
\
4 7
合并后的樹為
3
/
4 5
/ \
5 4 7
題解:
題目的本質就是兩顆樹對應的部位相加
所以
t1的左子樹=t1的左子樹+t2的右子樹
t1的右子樹=t1的右子樹+t2的右子樹
代碼:
/*** struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*/class Solution { public:/*** * @param t1 TreeNode類 * @param t2 TreeNode類 * @return TreeNode類*/TreeNode* mergeTrees(TreeNode* t1, TreeNode* t2) {// write code hereif (!t1 && !t2) {return NULL;}if (!t1) {return t2;}if (!t2){return t1;}t1->val+=t2->val;t1->left=mergeTrees(t1->left, t2->left);t1->right=mergeTrees(t1->right, t2->right);return t1;} };總結
以上是生活随笔為你收集整理的牛客题霸 [合并二叉树] C++题解/答案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我用Python爬取了4000+股票数据
- 下一篇: 搜狗壁纸桌面PC版 v2.4 官方最新版