flowchart TD
A[Visit TreeNode] --> B{Traversal type}
B -- Inorder --> C[Left Root Right]
B -- Preorder --> D[Root Left Right]
B -- Postorder --> E[Left Right Root]
B -- LevelOrder --> F[Queue BFS by level]
C --> G[Collect values]
D --> G
E --> G
F --> G
sequenceDiagram
participant Node
participant Left
participant Right
participant Out as output list
Node->>Left: recurse
Left-->>Out: values
Node->>Out: emit root by order
Node->>Right: recurse
Right-->>Out: values