leetcode層數最深葉子節點的和

2021-10-05 18:29:05 字數 858 閱讀 9264

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...