每天做一道算法題,循序漸進,按算法分類刷題。堅持下去,看能堅持多久,也看最終能有多大成效。
合併二叉樹
給定兩個二叉樹,想象當你將它們中的一個覆蓋到另一個上時,兩個二叉樹的一些節點便會重疊。
你需要將他們合併為一個新的二叉樹。合併的規則是如果兩個節點重疊,那麼將他們的值相加作為節點合併後的新值,否則不為 NULL 的節點將直接作為新二叉樹的節點。
示例 1:
輸入:
Tree 1 Tree 2
1 2
/ \\ / \\
3 2 1 3
/ \\ \\
5 4 7
輸出:
合併後的樹:
3
/ \\
4 5
/ \\ \\
5 4 7
注意: 合併必須從兩個樹的根節點開始。
解決方案
先序遍歷兩顆樹,合併樹的每一個節點,組成一顆新的樹。
實現代碼
參考銜接
https://leetcode-cn.com/problems/merge-two-binary-trees
閱讀更多 突破程序員 的文章