c++写一个二叉树前序周游
时间: 2023-11-23 19:07:09 浏览: 65
二叉树前序遍历是指先访问根节点,然后访问其左子树,最后访问其右子树,下面是一个简单的二叉树前序遍历的实现:
```
#include <iostream>
using namespace std;
// 二叉树结点定义
struct TreeNode {
int val;
TreeNode* left;
TreeNode* right;
TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};
// 二叉树前序遍历
void preorderTraversal(TreeNode* root) {
if (root == NULL) {
return;
}
cout << root->val << " "; // 访问根节点
preorderTraversal(root->left); // 遍历左子树
preorderTraversal(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);
// 遍历二叉树
preorderTraversal(root);
return 0;
}
```
输出结果为:1 2 4 5 3
阅读全文