Skip to content

Inorder Traversal

cpp
void inorder(TreeNode* root,vector<int>&ans){
    stack<TreeNode*>st;
    TreeNode*  curr = root;

    while(curr!=nullptr || !st.empty()){
        
        while(curr!=nullptr){
            st.push(curr);
            curr=curr->left;
        }

        curr = st.top();
        st.pop();

        ans.push_back(curr->val);

        curr=curr->right;
    }

    return ;
}