class Solution { public: vector<int> ret; stack<TreeNode*> s; TreeNode* temp=nullptr; vector<int> preorderTraversal(TreeNode* root) { // write code here if(root == nullptr) return ret; s.push(root); while(!s.empty()) { temp = s.top(); ret.push_back(temp->val); s.pop(); if(temp->right) s.push(temp->right); if(temp->left) s.push(temp->left); } return ret; } };