树的遍历主要有三种
1、先序遍历:先遍历根节点,再遍历左节点,最后遍历右节点;
2、中序遍历:先遍历左节点,再遍历根节点,最后遍历右节点;
3、后序遍历:先遍历左节点,再遍历右节点,最后遍历根节点;
总结:先、中、后就表示根节点的遍历处于哪个位置,而总是先左节点后右节点。
先序遍历: F B A D C E D I H
中序遍历: A, B, C, D, E, F, G, H, I
后序遍历: A, C, E, D, B, H, I, G, F.
层序遍历就是从上到下、从左到右输出节点
前序遍历代码
//存储遍历结果的数组
vector<int> v;
//前序遍历函数
vector<int> preorderTraversal(TreeNode* root) {
if(root==nullptr) return v;
v.emplace_back(root->val); //输入数组语句
preorderTraversal(root->left);
preorderTraversal(root->right);
return v;
}