C++二叉树遍历的方法是什么

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 << " ";
    }
}

以上均是递归实现的方式,也可以使用迭代的方式来进行二叉树的遍历。

阅读剩余
THE END