阅读量:0
C++中常用的二叉树遍历方法有三种:前序遍历、中序遍历和后序遍历。
- 前序遍历(Preorder Traversal):先访问根节点,然后递归地前序遍历左子树和右子树。
void preorderTraversal(TreeNode* root) { if (root) { cout << root->val << " "; preorderTraversal(root->left); preorderTraversal(root->right); } }
- 中序遍历(Inorder Traversal):先递归地中序遍历左子树,然后访问根节点,最后递归地中序遍历右子树。
void inorderTraversal(TreeNode* root) { if (root) { inorderTraversal(root->left); cout << root->val << " "; inorderTraversal(root->right); } }
- 后序遍历(Postorder Traversal):先递归地后序遍历左子树和右子树,最后访问根节点。
void postorderTraversal(TreeNode* root) { if (root) { postorderTraversal(root->left); postorderTraversal(root->right); cout << root->val << " "; } }
以上均是递归实现的方式,也可以使用迭代的方式来进行二叉树的遍历。