已知二叉树采用二叉链表储存结构,设计一个算法计算二叉树所有结点数
时间: 2024-01-23 09:49:01 浏览: 93
计算二叉树的结点个数
5星 · 资源好评率100%
好的,我知道你想要我使用ChitGPT回答你的问题。针对你的问题,下面是计算二叉树所有结点数的算法:
首先,我们定义一个名为 `countNodes` 的函数,用于计算二叉树的节点数。在函数内,我们采用递归的方式,分别计算左子树的节点数和右子树的节点数,然后将其相加,再加上根节点,就是整个二叉树的节点数。
以下是代码实现:
```
int countNodes(TreeNode* root) {
if (root == nullptr) return 0;
int leftNodes = countNodes(root->left);
int rightNodes = countNodes(root->right);
return leftNodes + rightNodes + 1;
}
```
这里将 `TreeNode` 定义为二叉树的节点结构体。`root->left` 和 `root->right` 分别表示左子树和右子树的根节点。
希望这个算法能够对你有所帮助!
阅读全文