二叉树的先中后序遍历代码
时间: 2023-06-02 14:06:14 浏览: 61
我可以回答此问题。以下是二叉树的先序、中序、后序遍历的代码实现:
先序遍历代码:
```
void preorderTraversal(TreeNode* root) {
if (root == nullptr) {
return;
}
cout << root->val << " ";
preorderTraversal(root->left);
preorderTraversal(root->right);
}
```
中序遍历代码:
```
void inorderTraversal(TreeNode* root) {
if (root == nullptr) {
return;
}
inorderTraversal(root->left);
cout << root->val << " ";
inorderTraversal(root->right);
}
```
后序遍历代码:
```
void postorderTraversal(TreeNode* root) {
if (root == nullptr) {
return;
}
postorderTraversal(root->left);
postorderTraversal(root->right);
cout << root->val << " ";
}
```
以上是本人提供的二叉树遍历的代码,如有错误或不足之处请指正。
相关问题
二叉树前中后序遍历c++代码
以下是C++实现二叉树前中后序遍历的代码:
1. 前序遍历
```c++
void preorderTraversal(TreeNode* root) {
if (root == nullptr) {
return;
}
cout << root->val << " "; // 输出当前节点的值
preorderTraversal(root->left); // 递归遍历左子树
preorderTraversal(root->right); // 递归遍历右子树
}
```
2. 中序遍历
```c++
void inorderTraversal(TreeNode* root) {
if (root == nullptr) {
return;
}
inorderTraversal(root->left); // 递归遍历左子树
cout << root->val << " "; // 输出当前节点的值
inorderTraversal(root->right); // 递归遍历右子树
}
```
3. 后序遍历
```c++
void postorderTraversal(TreeNode* root) {
if (root == nullptr) {
return;
}
postorderTraversal(root->left); // 递归遍历左子树
postorderTraversal(root->right); // 递归遍历右子树
cout << root->val << " "; // 输出当前节点的值
}
```
二叉树的先中后序遍历C++代码
二叉树的先中后序遍历C代码示例如下:
先序遍历:
void preorderTraversal(TreeNode* root){
if(root == NULL){
return;
}
printf("%d ", root->val); // 打印结点的值
preorderTraversal(root->left); // 遍历左子树
preorderTraversal(root->right); // 遍历右子树
}
中序遍历:
void inorderTraversal(TreeNode* root){
if(root == NULL){
return;
}
inorderTraversal(root->left); // 遍历左子树
printf("%d ", root->val); // 打印结点的值
inorderTraversal(root->right); // 遍历右子树
}
后序遍历:
void postorderTraversal(TreeNode* root){
if(root == NULL){
return;
}
postorderTraversal(root->left); // 遍历左子树
postorderTraversal(root->right); // 遍历右子树
printf("%d ", root->val); // 打印结点的值
}