Every day a leetcode
题目来源:404. 左叶子之和
解法:DFS
左叶子结点=左孩子+叶子结点
用dfs遍历一次树,把符合要求的左叶子结点的值用sum统计出来。
代码:
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* };
*/
int dfs(struct TreeNode* root){
int sum=0;
if(root == NULL) return 0;
if(root->left)//有左孩子
{
if(root->left->left == NULL && root->left->right == NULL)//左孩子是叶子结点
sum+=root->left->val;
}
return sum+dfs(root->left)+dfs(root->right);
}
int sumOfLeftLeaves(struct TreeNode* root){
return dfs(root);
}
结果:

本文介绍了如何使用深度优先搜索(DFS)解决LeetCode中的404题——左叶子之和。通过递归的DFS方法,遍历二叉树并仅计算左子节点为叶子节点的值,最终得到左叶子结点的总和。代码中展示了详细的实现过程。
501

被折叠的 条评论
为什么被折叠?



