二叉树的递归遍历
代码随想客
前序遍历
class Solution {
public:
void travel(TreeNode* cur,vector<int>& res)
{
if(cur==nullptr)
{
return ;
}
res.push_back(cur->val);
travel(cur->left,res);
travel(cur->right,res);
}
vector<int> preorderTraversal(TreeNode* root)
{
vector<int> res;
travel(root,res);
return res;
}
};
中序遍历
class Solution {
public:
void travel(TreeNode* cur,vector<int>& res)
{
if(cur==nullptr)
{
return ;
}
travel(cur->left,res);
res.push_back(cur->val);
travel(cur->right,res);
}
vector<int> preorderTraversal(TreeNode* root)
{
vector<int> res;
travel(root,res);
return res;
}
};
后序遍历
class Solution {
public:
void travel(TreeNode* cur,vector<int>& res)
{
if(cur==nullptr)
{
return ;
}
travel(cur->left,res);
travel(cur->right,res);
res.push_back(cur->val);
}
vector<int> preorderTraversal(TreeNode* root)
{
vector<