设二叉树共有 nn 个结点,函数 preorderTraversal 以下代码的时间复杂度为 O(n)O(n),空间复杂度为 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;};
填写答案