/** * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} * }; */ class Solution { public: void ulr(TreeNode* root,vector<int>& ret) { if(root == nullptr) return ; ret.push_back(root->val); ulr(root->left,ret); ulr(root->right,ret); } vector<int> preorderTraversal(TreeNode* root) { // write code here vector<int> ret; ulr(root,ret); return ret; } };