/** * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} * }; */ class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param root TreeNode类 * @return int整型vector */ void travel(vector<int>&v,TreeNode* root){ if(!root){ return;//如果为空直接返回 } v.push_back(root->val);//压入根节点的值 travel(v,root->left);//以root->left为根 travel(v,root->right);//以root->right为根 } vector<int> preorderTraversal(TreeNode* root) { // write code here vector<int>v; travel(v,root);//进行遍历,需要递归思想 return v;//满足返回值的需要 } };