递归的形式如果是想在牛客网里编译可能得把这个递归过程作为中间过程,要不然容易报错:递归太多之类的。
递归形式:
前序遍历:
void preorderTraversal(TreeNode* root) {
if (root == NULL) return ;
res.push_back(root->val);
preorderTraversal(root->left);
preorderTraversal(root->right);
}
中序遍历:
void inorderTraversal(TreeNode* root) {
if (root == NULL) return ;
inorderTraversal(root->left);
res.push_back(root->val);
inorderTraversal(root->right);
}
后序遍历:
void postorderTraversal(TreeNode* root) {
if (root == NULL) return ;
postorderTraversal(root->left);
postorderTraversal(root->right);
res.push_back(root->val);
}
非递归形式:
前序遍历
vector<int> preorderTraversal(TreeNode* root) {
// write code here
//基于堆栈实现的前序排列
vector<