//stack
vector<int> inorderTraversal(TreeNode* root) {
stack<TreeNode*> s;
vector<int> ret;
TreeNode *p=root;
while(p||!s.empty()){
if(p){
s.push(p);
p=p->left;
}else{
p=s.top();
s.pop();
ret.push_back(p->val);
p=p->right;
}
}
return ret;
}
Last updated
Was this helpful?