給定兩個二叉樹,想象當你將它們中的乙個覆蓋到另乙個上時,兩個二叉樹的一些節點便會重疊。
你需要將他們合併為乙個新的二叉樹。合併的規則是如果兩個節點重疊,那麼將他們的值相加作為節點合併後的新值,否則不為 null 的節點將直接作為新二叉樹的節點。
示例 1:
輸入:tree 1 tree 2
1 2/ \ / \
3 2 1 3
/ \ \
5 4 7
輸出:合併後的樹:3/
4 5/ \ \
5 4 7
注意: 合併必須從兩個樹的根節點開始。
//思路:
//步驟:先序遍歷兩棵二叉樹的同時進行值相加
struct treenode*
mergetrees
(struct treenode* t1,
struct treenode* t2)
else
if(t1 ==
null
)else
if(t2 ==
null
)else
return t1;
}
力扣617 合併二叉樹
給定兩個二叉樹,想象當你將它們中的乙個覆蓋到另乙個上時,兩個二叉樹的一些節點便會重疊。你需要將他們合併為乙個新的二叉樹。合併的規則是如果兩個節點重疊,那麼將他們的值相加作為節點合併後的新值,否則不為 null 的節點將直接作為新二叉樹的節點。示例 1 思路參考 我們可以對這兩棵樹同時進行前序遍歷,並...
力扣617 合併二叉樹
給定兩個二叉樹,想象當你將它們中的乙個覆蓋到另乙個上時,兩個二叉樹的一些節點便會重疊。你需要將他們合併為乙個新的二叉樹。合併的規則是如果兩個節點重疊,那麼將他們的值相加作為節點合併後的新值,否則不為 null 的節點將直接作為新二叉樹的節點。示例 1 思路參考 我們可以對這兩棵樹同時進行前序遍歷,並...
力扣c語言實現 814 二叉樹剪枝
給定二叉樹根結點 root 此外樹的每個結點的值要麼是 0,要麼是 1。返回移除了所有不包含 1 的子樹的原二叉樹。節點 x 的子樹為 x 本身,以及所有 x 的後代。省略示例 說明 給定的二叉樹最多有 100 個節點。每個節點的值只會為 0 或 1 思路 主要還是對二叉樹進行遍歷,在遍歷的過程中,...