144. 二叉树的前序遍历
class Solution {
public:
void dfs(TreeNode* cur, vector<int> &vec){
if(cur == nullptr) return;
vec.push_back(cur->val);
dfs(cur->left, vec);
dfs(cur->right, vec);
}
vector<int> preorderTraversal(TreeNode* root) {
vector<int> ans;
dfs(root, ans);
return ans;
}
};
94. 二叉树的中序遍历
class Solution {
public:
void dfs(TreeNode* cur, vector<int> &vec){
if(cur == nullptr) return;
dfs(cur->left, vec);
vec.push_back(cur->val);
dfs(cur->right, vec);
}
vector<int> inorderTraversal(TreeNode* root) {
vector<int> ans;
dfs(root, ans);
return ans;
}
};
145. 二叉树的后序遍历
class Solution {
public:
void dfs(TreeNode* node, vector<int> &ans) {
if (node == nullptr) return;
dfs(node->left, ans);
dfs(node->right, ans);
ans.emplace_back(node->val);
}
vector<int> postorderTraversal(TreeNode* root) {
vector<int> ans;
dfs(root, ans);
return ans;
}
};
今天的比较难