前序遍历:
void traversal(TreeNode* root,vector<int>& result)
{
if(root==NULL)
{
return;
}
result.push_back(root->val);
traversal(root->left,result);
traversal(root->right,result);
}
vector<int> preorderTraversal(TreeNode* root) {
vector<int>result;
traversal(root,result);
return result;
}
中序遍历:
void traversal(TreeNode* root,vector<int>& result)
{
if(root==NULL)
{
return;
}
traversal(root->left,result);
result.push_back(root->val);
traversal(root->right,result);
}
vector<int> inorderTraversal(TreeNode* root) {
vector<int>result;
traversal(root,result);
return result;
}
后序遍历:
void traversal(TreeNode* root,vector<int>& result)
{
if(root==NULL)
{
return;
}
traversal(root->left,result);
traversal(root->right,result);
result.push_back(root->val);
}
vector<int> postorderTraversal(TreeNode* root) {
vector<int> result;
traversal(root,result);
return result;
}