Implement both recursive and iterative inorder traversal. For the iterative version, trace through an example tree manually. At each step, ask: what's on the stack?
What's the current node? What do we do next? The pattern: go left as far as possible, process, go right.
The stack remembers nodes whose left subtrees you've finished but whose right subtrees we haven't started.
This iterative pattern adapts to preorder and postorder with small modifications. Time: . Space: .