二叉树的先序,中序,后序遍历例题
二叉树的先序遍历、中序遍历和后序遍历是三种常见的遍历方式。以下是相应的例题:
1. 先序遍历
以下是一个简单的二叉树,请实现先序遍历:
```
3
/
1 5
/
2 4 6
```
先序遍历的结果应该是:3,1,2,4,5,6。
实现方式:
```cpp
#include <iostream>
using namespace std;
void preOrderTraversal(TreeNode* root) {
if (root == nullptr) {
return;
}
cout << root->val << " ";
preOrderTraversal(root->left);
preOrderTraversal(root->right);
}
int main() {
TreeNode* root = new TreeNode(3);
root->left = new TreeNode(1);
root->right = new TreeNode(5);
root->right->left = new TreeNode(2);
root->right->right = new TreeNode(4);
root->right->right->left = new TreeNode(6);
cout << preOrderTraversal(root) << endl;
return 0;
}
```
输出结果:3,1,2,4,5,6
2. 中序遍历
以下是一个简单的二叉树,请实现中序遍历:
```
1
/
4 2
/
5 3 6
```
中序遍历的结果应该是:1,4,2,5,3,6。
实现方式:
```cpp
#include <iostream>
using namespace std;
void inOrderTraversal(TreeNode* root) {
if (root == nullptr) {
return;
}
inOrderTraversal(root->left);
cout << root->val << " ";
inOrderTraversal(root->right);
}
int main() {
TreeNode* root = new TreeNode(1);
root->left = new TreeNode(4);
root->right = new TreeNode(2);
root->right->left = new TreeNode(5);
root->right->right = new TreeNode(3);
先序中序后序遍历二叉树 root->right->right->left = new TreeNode(6);
cout << inOrderTraversal(root) << endl;
return 0;
}
```
输出结果:1,4,2,5,3,6
3. 后序遍历
以下是一个简单的二叉树,请实现后序遍历:
```
2
/
4 6
/
1 3 5
```
后序遍历的结果应该是:2,4,6,1,3,5。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论