算法day35 二叉树的前序遍历、中序遍历、后序遍历(递归方法)

题目描述

代码实现

public:
void traversal(TreeNode *cur , vector<int> &vec){
    if(!cur) return;
    vec.push_back(cur->val);
    traversal(cur->left,vec);
    traversal(cur->right,vec);
}
vector<int> preorderTraversal(TreeNode* root) {
    vector<int> res;
    traversal(root,res);
    return res;
}

代码实现

public:
void traversal(TreeNode *cur,vector<int> &vec){
    if(!cur) return;
    traversal(cur->left,vec);
    vec.push_back(cur->val);
    traversal(cur->right,vec);
}
vector<int> inorderTraversal(TreeNode* root) {
    vector<int> res;
    traversal(root,res);
    return res;
}

代码实现

public:
void traversal(TreeNode* cur,vector<int> &vec){
    if(!cur) return;
    traversal(cur->left,vec);
    traversal(cur->right,vec);
    vec.push_back(cur->val);
}
vector<int> postorderTraversal(TreeNode* root) {
    vector<int> res;
    traversal(root,res);
    return res;
}

时间复杂度:O(n)
空间复杂度:O(n)

END

posted on 2025-06-04 15:03  sakura430  阅读(11)  评论(0)    收藏  举报