二叉树的遍历:给定一棵二叉树,实现前序遍历、中序遍历和后序遍历
时间: 2023-11-01 15:06:31 浏览: 130
二叉树前序中序后序遍历.txt
二叉树的遍历是指按照某一顺序依次访问二叉树中的所有节点。常见的遍历方式有三种:前序遍历、中序遍历和后序遍历。下面分别介绍这三种遍历方式的实现方法。
前序遍历:先访问根节点,然后依次访问左子树和右子树。
```
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 << " "; // 访问根节点
}
```
阅读全文