leetcode617 合併二叉樹 前序遍歷

2021-10-02 23:33:09 字數 746 閱讀 3019

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

你需要將他們合併為乙個新的二叉樹。合併的規則是如果兩個節點重疊,那麼將他們的值相加作為節點合併後的新值,否則不為 null 的節點將直接作為新二叉樹的節點。

示例 1:

輸入:tree 1 tree 2

1             2

/ \           / \

3 2       1   3

/             \     \

5             4     7

輸出:合併後的樹:

3/  \

4   5

/ \   \

5 4  7

注意: 合併必須從兩個樹的根節點開始。

二叉樹的前序遍歷,注意處理好各種情況下的返回值。

public treenode mergetrees

(treenode t1, treenode t2)

else

if(t1==null&&t2!=null)

else

if(t1!=null&&t2==null)

return null;

}

leetcode 25/100

LeetCode617 合併二叉樹

給定兩個二叉樹,想象當你將它們中的乙個覆蓋到另乙個上時,兩個二叉樹的一些節點便會重疊。你需要將他們合併為乙個新的二叉樹。合併的規則是如果兩個節點重疊,那麼將他們的值相加作為節點合併後的新值,否則不為 null 的節點將直接作為新二叉樹的節點。示例 1 輸入 tree 1 tree 2 1 2 3 2...

LeetCode 617 合併二叉樹

題目 給定兩個二叉樹,想象當你將它們中的乙個覆蓋到另乙個上時,兩個二叉樹的一些節點便會重疊。你需要將他們合併為乙個新的二叉樹。合併的規則是如果兩個節點重疊,那麼將他們的值相加作為節點合併後的新值,否則不為 null 的節點將直接作為新二叉樹的節點。示例 1 輸入 tree 1 tree 2 1 2 ...

leetcode 617 合併二叉樹

這個題目不難,能夠想到使用遞迴的方法去解決,最好的方法不是新建一棵樹,而是把所有的改變都放在一棵樹上。此處我將合併後的改變都放在了樹t1上了。兩棵樹同時開始並按照相同的方式遍歷,當兩個根節點都不為null時,就將兩個根節點的值加到樹t1上,然後遞迴合併兩個根節點的左子樹和右子樹。合併完後可能會出現有...