/* 判断是否为平衡二叉树 */
int get_depth(TreeNode *node){
if(node == nullptr)
return 0;
return max( get_depth(node->left), get_depth(node->right) ) + 1;
}
bool isBalanced(TreeNode* root) {
if(root == nullptr)
return true;
if(abs(get_depth(root->left) - get_depth(root->right) ) > 1){
return false;
}else{
if( isBalanced(root->left) != false && isBalanced(root->right) != false ){
return true;
}else{
return false;
}
}
}
/* 求左子叶的和 */
int cnt = 0;
if(root == nullptr){
return 0;
}
if(root->left != nullptr && root->left->left == nullptr && root->left->right == nullptr){
cnt += root->left->val;
}else{
cnt += sumOfLeftLeaves(root->left);
}
cnt += sumOfLeftLeaves(root->right);
return cnt;