Given a board and a list of words, find all words that can be formed on the board. Combines Trie + Backtracking — the ultimate combo.
Build a Trie from all words. DFS from each board cell, following Trie paths. When we reach is_end, we found a word. Prune branches with no Trie matches.
💡 Pro tip: Understand this problem deeply — don't just memorize the code. Try explaining the approach out loud as if teaching a friend. If you can explain it simply, you truly understand it!
len(findWords(board, words))
2