- Vanilla Tree
- A collection of special values (a.k.a. nodes) that points to others
- refer to linked list
- Zipper Tree
- a node and its context
- context: a collection of "breadcrumbs" that leads to the node
- why: a node itself can only go to any of its children; its breadcrumbs enable path to parent and siblings
- structure: each node has its own breadcrumbs, resulting the context to be a list or a recursive struct
- zipper concept can also be applied to other structures e.g. linked list
- E0104: maximum-depth-of-binary-tree
- E0226: invert-binary-tree
- M0094: Binary-Tree-Inorder-Traversal
- M0095: Unique-Binary-Search-Trees-II
- M0096: Unique-Binary-Search-Trees
- M0098: Validate-Binary-Search-Tree
- M0102: Binary-Tree-Level-Order-Traversal
- M0103: Binary-Tree-Zigzag-Level-Order-Traversal
- M0105: Construct Binary Tree from Pre-order and In-order Traversal
- M0113: Path-Sum-II
- M0144: Binary-Tree-Preorder-Traversal
- M0199: Binary-Tree-Right-Side-View
- M0236: Lowest Common Ancestor of a Binary Tree
- M0513: Find Bottom Left Tree Value (91)
- M0987: Vertical Order Traversal of a Binary Tree (91)
- M1104: Path In Zigzag Labelled Binary Tree
- M1261: Find Elements in a Contaminated Binary Tree