Leetcode 212. Word Search II
Given a 2-D grid of characters `board` and a list of strings `words`, return all words that are present in the grid.
For a word to be present it must be possible to form the word with a path in the board with horizontally or vertically neighboring cells. The same cell may not be used more than once in a word.
Examples
Example 1
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"]
Example 2
Input: board = [["a","b"],["c","d"]], words = ["abcb"]
Output: []
Constraints
- `1 <= board.length, board[i].length <= 12`
- `board[i]` consists only of lowercase English letter.
- `1 <= words.length <= 30,000`
- `1 <= words[i].length <= 10`
- `words[i]` consists only of lowercase English letters.
- All strings within `words` are distinct.