第20855题 判断
判断给定C++递归二叉树前序遍历代码的时间复杂度O(n)、空间复杂度O(n)是否正确
struct TreeNode {
  int val;
  TreeNode* left;
  TreeNode* right;
  TreeNode(int x): val(x), left(nullptr), right(nullptr) {}
};

void preorder(TreeNode *root, vector<int> &res) {
  if (root == nullptr) {
   return;
  }
  res.push_back(root->val);
  preorder(root->left, res);
  preorder(root->right, res);
}

vector<int> preorderTraversal(TreeNode *root) {
  vector<int> res;
  preorder(root, res);
  return res;
};
A

正确

B

错误