题目描述
也就是遇到所有左子叶计算出来即可,加一个判断条件即可,这个可以用后序遍历因为与头节点的先后无关,重点就是终止条件有点拗口难理解
代码实现
class Solution {
public:
int sumOfLeftLeaves(TreeNode* root) {
if(root==nullptr)
{
return 0;
}
if(root->left==nullptr && root->right==nullptr)
{
return 0;
}
int leftnums = sumOfLeftLeaves(root->left);
if(root->left && !root->left->left && !root->left->right)
{
leftnums += root->left->val;
}
int rightnums = sumOfLeftLeaves(root->right);
return rightnums + leftnums;
}
};