給你一棵二叉樹,請你返回層數最深的葉子節點的和。
示例:
輸入:root = [1,2,3,4,5,null,6,7,null,null,null,null,8]
輸出:15
廣度優先遍歷,遍歷的時候記錄每一層的節點值之和,進入下一層時先將和清0,最後一次記錄的和就是結果。
/**
* definition for a binary tree node.
* struct treenode
* };
*/class
solution
}return res;}}
;
深度優先遍歷也可,實現時將層數當做遞迴的引數傳入。
需要記錄兩個變數,乙個是當前得到的和,乙個是當前樹的最大深度。
/**
* definition for a binary tree node.
* struct treenode
* };
*/class
solution
void
dfs(treenode * root ,
int depth)
else
if(depth>curdepth)
dfs(root-
>left,depth+1)
;dfs
(root-
>right,depth+1)
;}};
(1)深度優先搜尋遞迴實現簡單,但耗時高; LeetCode 102 層次遍歷
一 思路 這道題使用的是二叉樹的廣度優先遍歷,也就是層次遍歷。與單純的層次遍歷不同的地方在於,這個問題要求返回的遍歷結果是乙個二維陣列,一行代表樹的一層。但是總的思路還是和層次遍歷沒有區別。為了知道二叉樹中每乙個節點位於書的哪一層的問題,需要標識每乙個節點所在的層數,並根據層次遍歷時的節點,對其子節...
leetcode1161 最大層內元素和
給你乙個二叉樹的根節點 root。設根節點位於二叉樹的第 1 層,而根節點的子節點位於第 2 層,依此類推。請你找出層內元素之和 最大 的那幾層 可能只有一層 的層號,並返回其中 最小 的那個。示例 輸入 1,7,0,7,8,null,null 輸出 2 解釋 第 1 層各元素之和為 1,第 2 層...
Leetcode 二叉樹層遍歷演算法
需求 以層遍歷一棵二叉樹,二叉樹的結點結構如下 struct tree node 例如 1 2 3 4 5 層遍歷後輸出1,2,3,4,5,代表該結點為空。要求 空間複雜度為o n 時間複雜度為o n 思路 使用乙個大小為n的陣列,以逐層結點方式記錄該陣列 掃瞄本層同時列印出下層結點的值或空值。陣列...