1、三种遍历方式的区别(“访问”理解为:获取节点存储的数值)
- 中序遍历:访问根节点操作发生在访问其左子树之后,在访问其右子树之前;
- 前序遍历:访问根节点操作发生在访问其左、右子树之前;
- 后序遍历:访问根节点操作发生在访问其左、右子树之后;
2、中序遍历
2.1 中序遍历的递归方式(简单)
void inorder(TreeNode* root, vector<int>& ans){
//节点为空则直接返回
if(root == nullptr) return;
//先中序遍历左子树 再访问根节点 然后中序遍历右子树
inorder(root->left, ans);
ans.push_back(root->val);
inorder(root->right, ans);
}
vect