力扣c語言實現 617 合併二叉樹

2021-09-24 16:19:23 字數 667 閱讀 1599

給定兩個二叉樹,想象當你將它們中的乙個覆蓋到另乙個上時,兩個二叉樹的一些節點便會重疊。

你需要將他們合併為乙個新的二叉樹。合併的規則是如果兩個節點重疊,那麼將他們的值相加作為節點合併後的新值,否則不為 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 思路 主要還是對二叉樹進行遍歷,在遍歷的過程中,...