编写一个C语言函数计算一颗给定二叉树的所有结点个数
时间: 2024-03-09 10:49:47 浏览: 77
计算二叉树的结点个数
5星 · 资源好评率100%
可以使用递归的方式来计算一颗给定二叉树的所有结点个数,具体实现如下:
```c
struct TreeNode {
int val;
struct TreeNode *left;
struct TreeNode *right;
};
int countNodes(struct TreeNode* root) {
if (root == NULL) {
return 0;
}
return 1 + countNodes(root->left) + countNodes(root->right);
}
```
首先判断当前节点是否存在,如果不存在则返回节点个数为0;否则节点个数至少为1,再加上左子树的节点个数和右子树的节点个数即可。
阅读全文