LeetCode之二叉樹中的最大路徑和

2021-10-07 09:26:03 字數 542 閱讀 2682

解題步驟:

葉子節點的貢獻值為節點的值,即節點9,15,7的貢獻值為9,15,7

因為每個節點的最大貢獻值,只能選取左右子節點其中乙個,和根節點進行相加,則節點20的最大貢獻值等於 20+max⁡(15,7)=35,節點−10的最大貢獻值等於−10+max⁡(9,35)=25

定義乙個函式dfs(root)計算root節點的最大貢獻,使用深度優先搜尋,即可以得到每個節點的最大貢獻

c++實現:

/**

* definition for a binary tree node.

* struct treenode

* };

*/class

solution

intmaxpathsum

(treenode* root)

};

Leetcode之二叉樹中的列表

題目 給你一棵以 root 為根的二叉樹和乙個 head 為第乙個節點的鍊錶。如果在二叉樹中,存在一條一直向下的路徑,且每個點的數值恰好一一對應以 head 為首的鍊錶中每個節點的值,那麼請你返回 true 否則返回 false 一直向下的路徑的意思是 從樹中某個節點開始,一直連續向下的路徑。示例 ...

leetcode之二叉樹的映象

invert binary tree invert a binary tree.4 2 7 1 3 6 9to4 7 2 9 6 3 1幾周前,我用的是遞迴解法,如下 definition for a binary tree node.struct treenode struct treenode ...

二叉樹之 二叉樹深度

二叉樹深度 獲取最大深度 public static int getmaxdepth treenode root 二叉樹寬度 使用佇列,層次遍歷二叉樹。在上一層遍歷完成後,下一層的所有節點已經放到佇列中,此時佇列中的元素個數就是下一層的寬度。以此類推,依次遍歷下一層即可求出二叉樹的最大寬度 獲取最大...