计算T所指的二叉树中结点数为偶数个数有关代码
时间: 2024-02-29 15:53:26 浏览: 50
这是一个递归计算二叉树结点数的代码,可以通过判断结点数是否为偶数来得到答案:
```python
class Node:
def __init__(self, val):
self.val = val
self.left = None
self.right = None
def countNodes(root):
if not root:
return 0
return 1 + countNodes(root.left) + countNodes(root.right)
root = Node(1)
root.left = Node(2)
root.right = Node(3)
root.left.left = Node(4)
root.left.right = Node(5)
node_count = countNodes(root)
if node_count % 2 == 0:
print("结点数为偶数")
else:
print("结点数为奇数")
```
其中,countNodes()函数递归计算二叉树的结点数,root为根节点。最后通过判断结点数是否为偶数,输出相应的结果。
相关问题
计算T所指的二叉树中结点数为偶数个数
可以使用递归方法,对二叉树进行遍历,并统计二叉树中节点数的总数,最后判断节点数是否为偶数即可。
以下是Python代码实现:
```python
class Node:
def __init__(self, val):
self.val = val
self.left = None
self.right = None
def count_nodes(root):
if not root:
return 0
return 1 + count_nodes(root.left) + count_nodes(root.right)
root = Node(1)
root.left = Node(2)
root.right = Node(3)
root.left.left = Node(4)
root.left.right = Node(5)
node_count = count_nodes(root)
if node_count % 2 == 0:
print("结点数为偶数")
else:
print("结点数为奇数")
```
其中,count_nodes函数递归计算二叉树的结点数,root为根节点。最后通过判断结点数是否为偶数,输出相应的结果。
数据结构计算T所指的二叉树中结点数为偶数个数
可以使用递归方法,对二叉树进行遍历,并统计二叉树中节点数的总数,最后判断节点数是否为偶数即可。
以下是C++代码实现:
```cpp
#include <iostream>
using namespace std;
struct TreeNode {
int val;
TreeNode* left;
TreeNode* right;
TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};
int countNodes(TreeNode* root) {
if (!root) {
return 0;
}
return 1 + countNodes(root->left) + countNodes(root->right);
}
int main() {
TreeNode* root = new TreeNode(1);
root->left = new TreeNode(2);
root->right = new TreeNode(3);
root->left->left = new TreeNode(4);
root->left->right = new TreeNode(5);
int node_count = countNodes(root);
if (node_count % 2 == 0) {
cout << "结点数为偶数" << endl;
} else {
cout << "结点数为奇数" << endl;
}
return 0;
}
```
其中,countNodes函数递归计算二叉树的结点数,root为根节点。最后通过判断结点数是否为偶数,输出相应的结果。
阅读全文