Implement the complete solution with trie-guided backtracking. Implementation steps:
Build trie from word list
For each cell, start DFS with trie root
Track visited cells (modify board or use set)
When reaching a word-end node, add to results
Backtrack by restoring cell state Common bugs:
- Forgetting to unmark visited cells when backtracking
- Finding the same word multiple times (from different starting positions)
- Not handling the case where one word is a prefix of another
Time: where is board size and is max word length. Trie pruning makes this much faster in practice.