給定乙個非空二叉樹,返回其最大路徑和。
本題中,路徑被定義為一條從樹中任意節點出發,達到任意節點的序列。該路徑至少包含乙個節點,且不一定經過根節點。
示例 1:
輸入:[1,2,3]1/ \23輸出:6示例 2:
輸入:[-10,9,20,null,null,15,7]給定乙個非空節點,最終路徑經過這個節點有4種情況:-10/ \
920/ \15 7輸出:42
1.只有該節點本身(左右子樹的路徑都是負數);
2.該節點+左子樹路徑;
3.該節點+右子樹路徑;
4.該節點+左子樹路徑+右子樹路徑。
其中1,2,3都可以作為子樹路徑和向上延伸,而4則不行。
/**
* definition for a binary tree node.
* struct treenode
* };
*/class solution
int maxpathsum(treenode* root)
};
LeetCode 二叉樹最大深度
給定乙個二叉樹,找出其最大深度。二叉樹的深度為根節點到最遠葉子節點的最長路徑上的節點數。說明 葉子節點是指沒有子節點的節點。示例 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7返回它的最大深度 3 解題關鍵 明白二叉樹基本操作。definition for a bin...
二叉樹最大深度 leetcode
這個題目開始要想是用遞迴,但是遞迴的形式,沒有想對。直接判斷left right 比較麻煩,不如在遞迴呼叫的時候判斷root是否為空。public class solution int led maxdepth root.left int rid maxdepth root.right return...
Leetcode二叉樹最大深度
二叉樹的最大深度,即為二叉樹的層數,開始的想法是遍歷左子樹和遍歷右子樹,返回記錄的最大值。這樣明顯是有漏洞的,如果最右的右子樹有左孩子或者左子樹有右孩子,結果就是不正確的。使用遞迴的方法,整樹的最大深度為左孩子樹的最大深度或者右孩子樹的最大深度。遞迴結束的條件是,當乙個結點的左右子樹都為空時,返回1...