## In-Order Traversal
Recursion:
```python
inorder(root.left) + [root.val] + inorder(root.right) if root else []
```
Iteration:
```python
stack = []
traversal = []
while stack or root:
while root:
stack.append(root)
root = root.left
root = stack.pop()
traversal.append(root.val)
root = root.right
```