算法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
浙公网安备 33010602011771号