1.層序遍歷,
統計每一層節點的和
**如下:
/**
* definition for a binary tree node.
* struct treenode
* };
*/class solution
}return sum;}};
2.深度優先搜尋
從根節點進行搜尋,在搜尋的同屬記錄當前節點的深度dep.我們維護兩個全域性變數maxdep和total,maxdep表示搜尋到的節點的最大深度,total表示搜尋到的深度等於maxdep的節點的權值之和
對於當前搜尋到的節點x,有三種情況:
2)節點x的深度dep等於maxdep,節點x的權值新增到total
3)節點x的深度大於maxdep,maxdep的值更新為dep,且total=x的值
在dfs結束之後,深度最大的葉子節點的權值之後即為total的值
**如下:
/**
* definition for a binary tree node.
* struct treenode
* };
*/class solution
void dfs(treenode *root,int dep)
else if(dep==maxdep)
dfs(root->left,dep+1);
dfs(root->right,dep+1);}};
leetcode 層數最深葉子節點的和
definition for a binary tree node.public class treenode class solution if polltreenode.right null cen 1 queue ruuningqueue int maxkey 1 for integer ke...
leetcode 1302 層數最深葉子節點的和
給你一棵二叉樹,請你返回層數最深的葉子節點的和。示例 輸入 root 1,2,3,4,5,null,6,7,null,null,null,null,8 輸出 15 廣度優先遍歷,遍歷的時候記錄每一層的節點值之和,進入下一層時先將和清0,最後一次記錄的和就是結果。definition for a bi...
leetCode 404 左葉子之和
計算給定二叉樹的所有左葉子之和。示例 3 9 20 15 7 在這個二叉樹中,有兩個左葉子,分別是 9 和 15,所以返回 24判斷當前節點是不是左葉子是無法判斷的,必須要通過節點的父節點來判斷其左孩子是不是左葉子。if node left null node left left null node...