编写函数,计算一棵给定二叉树的所有结点个数
时间: 2024-03-11 11:47:52 浏览: 14
好的,以下是计算一棵给定二叉树的所有结点个数的 Python 代码:
```python
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
def count_nodes(root: TreeNode) -> int:
if not root:
return 0
return 1 + count_nodes(root.left) + count_nodes(root.right)
```
其中,`TreeNode` 是二叉树的结点类,包括 `val` 表示结点值,`left` 表示左子树,`right` 表示右子树。
函数 `count_nodes` 是计算二叉树结点个数的函数,采用递归的方式实现。如果当前结点为空,返回 0。否则,返回 1(表示当前结点)加上左子树的结点个数和右子树的结点个数。
相关问题
编写函数,计算一棵给定二叉树的所有结点个数c++
好的,以下是计算一棵给定二叉树的所有结点个数的 C++ 代码:
```cpp
struct TreeNode {
int val;
TreeNode* left;
TreeNode* right;
TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
};
int countNodes(TreeNode* root) {
if (!root) {
return 0;
}
return 1 + countNodes(root->left) + countNodes(root->right);
}
```
其中,`TreeNode` 是二叉树的结点类,包括 `val` 表示结点值,`left` 表示左子树,`right` 表示右子树。
函数 `countNodes` 是计算二叉树结点个数的函数,采用递归的方式实现。如果当前结点为空,返回 0。否则,返回 1(表示当前结点)加上左子树的结点个数和右子树的结点个数。
c++计算一棵给定二叉树的所有结点个数
好的,以下是计算一棵给定二叉树的所有结点个数的 C++ 代码:
```cpp
struct TreeNode {
int val;
TreeNode* left;
TreeNode* right;
TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
};
int countNodes(TreeNode* root) {
if (!root) {
return 0;
}
return 1 + countNodes(root->left) + countNodes(root->right);
}
```
其中,`TreeNode` 是二叉树的结点类,包括 `val` 表示结点值,`left` 表示左子树,`right` 表示右子树。
函数 `countNodes` 是计算二叉树结点个数的函数,采用递归的方式实现。如果当前结点为空,返回 0。否则,返回 1(表示当前结点)加上左子树的结点个数和右子树的结点个数。