Given an m x n board of characters and a list of words, return all words on the board.
Input: board = [["o","a","a","n"],["e","t","a","e"],["i","h","k","r"],["i","f","l","v"]], words = ["oath","pea","eat","rain"]
Output: ["eat","oath"]
Topics: trie, backtracking
Asked by: Amazon, Google, Meta
Time complexity: O(M*N * 4^L). Space complexity: O(W*L).