/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode(int x) : val(x), left(NULL), right(NULL) {}
* };
*/
class Solution {
public:
int deep;
int ans;
void dfs(TreeNode* now,int d){
if(now->left == NULL && now->right == NULL){
if(d > deep){
deep = d;
ans = now->val;
return ;
}
if(d == deep){
ans += now->val;
return ;
}
return ;
}
if(now->left != NULL) dfs(now->left,d+1);
if(now->right != NULL) dfs(now->right,d+1);
}
int deepestLeavesSum(TreeNode* root) {
ans = 0;
deep = -1;
if(root == NULL) return ans;
dfs(root,0);
return ans;
}
};
No.171 - LeetCode1302
最新推荐文章于 2022-08-18 15:11:43 发布