编写前序遍历函数,采用递归的方式,先输出当前节点的值,然后依次遍历左子树和右子树。 编写中序遍历函数,采用递归的方式,先遍历左子树,然后输出当前节点的值,最后遍历右子树。 编写后序遍历函数,采用递归的方式,先遍历左子树和右子树,最后输出当前节点的值。
时间: 2024-05-08 15:18:56 浏览: 13
好的,以下是答案:
前序遍历函数的递归实现:
```
void PreOrderTraversal(TreeNode* root) {
if (root != nullptr) {
cout << root->val << " "; // 先输出当前节点的值
PreOrderTraversal(root->left); // 递归遍历左子树
PreOrderTraversal(root->right); // 递归遍历右子树
}
}
```
中序遍历函数的递归实现:
```
void InOrderTraversal(TreeNode* root) {
if (root != nullptr) {
InOrderTraversal(root->left); // 递归遍历左子树
cout << root->val << " "; // 输出当前节点的值
InOrderTraversal(root->right); // 递归遍历右子树
}
}
```
后序遍历函数的递归实现:
```
void PostOrderTraversal(TreeNode* root) {
if (root != nullptr) {
PostOrderTraversal(root->left); // 递归遍历左子树
PostOrderTraversal(root->right); // 递归遍历右子树
cout << root->val << " "; // 最后输出当前节点的值
}
}
```
希望能够帮到你!