//stack

vector<int> preorderTraversal(TreeNode* root) {

stack<TreeNode*> s;

vector<int> ret;

TreeNode* temp;

if(root) s.push(root);

while(!s.empty()){

temp=s.top();

s.pop();

ret.push_back(temp->val);

if(temp->right) s.push(temp->right);

if(temp->left) s.push(temp->left);

}

return ret;

}

Last updated

Was this helpful?