我需要遍历一个二叉树并计算一个条件发生了多少次。我尝试过如果条件发生了,同时返回两个叶子和1,否则返回0。有什么想法吗?
int countChoose(BinTree *root) {
if (root == NULL)
return 0;
updateTask(root);
if (root->whatToDo == COUNT_MALE_ORDER) {
if (root->gender == 'M') {
return 1 + countChoose(root->left) +
countChoose(root->right);
}
return 0 + countChoose(root->left) +
countChoose(root->right);
}
}
1条答案
按热度按时间ql3eal8s1#
在不知道问题的确切原因的情况下,最后一个return语句似乎应该移到外部
if
语句之外,即: