二叉树的遍历c++递归
时间: 2023-11-24 07:51:28 浏览: 85
以下是C++递归实现二叉树的先序、中序和后序遍历的代码:
先序遍历:
```cpp
void preorderTraversal(TreeNode* root) {
if (root == nullptr) {
return;
}
// 先访问根节点
visit(root);
// 再递归遍历左子树
preorderTraversal(root->left);
// 最后递归遍历右子树
preorderTraversal(root->right);
}
```
中序遍历:
```cpp
void inorderTraversal(TreeNode* root) {
if (root == nullptr) {
return;
}
// 先递归遍历左子树
inorderTraversal(root->left);
// 再访问根节点
visit(root);
// 最后递归遍历右子树
inorderTraversal(root->right);
}
```
后序遍历:
```cpp
void postorderTraversal(TreeNode* root) {
if (root == nullptr) {
return;
}
// 先递归遍历左子树
postorderTraversal(root->left);
// 再递归遍历右子树
postorderTraversal(root->right);
// 最后访问根节点
visit(root);
}
```
其中,`visit`函数表示访问节点的操作,可以根据具体情况进行定义。
阅读全文