bool isleaf(struct TreeNode* root) //这个函数看这个节点是不是叶子结点 { if(root==NULL) return false; return root->left==NULL&&root->right==NULL; }
int sumOfLeftLeaves(struct TreeNode* root) //是左叶子节点就相加的函数 { if(root==NULL) //树空返回0 return 0; if(isleaf(root->left)) return root->left->val+sumOfLeftLeaves(root->right); //如果左节点是叶子结点就返回左节点的值加上递归右节点的值 else return sumOfLeftLeaves(root->left)+sumOfLeftLeaves(root->right); //如果左节点不是叶子结点,递归访问该节点的左右节点 }