404.左叶子之和 发表于 2020-03-11 | 分类于 LeetCode 字数统计: 179 | 阅读时长 ≈ 1一、题目描述计算给定二叉树的所有左叶子之和。示例:1234567 3 / \ 9 20 / \ 15 7在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24二、题解1.递归什么叫左叶子?答:左孩子节点不为空且左孩子没有孩子节点。递归判断左右子树,返回所有左叶子之和。2.代码12345678910111213141516171819/** * Definition for a binary tree node. * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; */int sumOfLeftLeaves(struct TreeNode *root){ if (root == NULL) return 0; int res = 0; //左叶子: if (root->left != NULL && root->left->left == NULL && root->left->right == NULL) res += root->left->val; return res + sumOfLeftLeaves(root->left) + sumOfLeftLeaves(root->right);}