给定一棵二叉树,使用递归的方式实现二叉树左右子树交换,并输出后序遍历结果,要求完善以下代码#include "binary_tree.h" … /********** Begin / /* End **********/ }
时间: 2023-09-02 21:05:44 浏览: 76
二叉树的遍历代码(递归)
以下是完整代码:
```cpp
#include "binary_tree.h"
#include <iostream>
using namespace std;
void swapTree(TreeNode* root) {
if (!root) {
return;
}
swapTree(root->left);
swapTree(root->right);
swap(root->left, root->right);
}
void postOrder(TreeNode* root) {
if (!root) {
return;
}
postOrder(root->left);
postOrder(root->right);
cout << root->val << " ";
}
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);
root->right->left = new TreeNode(6);
root->right->right = new TreeNode(7);
swapTree(root);
postOrder(root);
cout << endl;
return 0;
}
```
其中,`swapTree`函数实现了二叉树左右子树的交换,`postOrder`函数实现了二叉树的后序遍历输出。在`main`函数中创建了一棵二叉树,并交换了左右子树,然后输出交换后的二叉树的后序遍历结果。
阅读全文