Esempio n. 1
0
    public List<String> findWords(char[][] board, String[] words) {

      Trie trie = new Trie();
      for (String word : words) {
        trie.insert(word);
      }

      int m = board.length;
      int n = board[0].length;

      boolean[][] visited = new boolean[m][n];

      for (int i = 0; i < m; i++) {
        for (int j = 0; j < n; j++) {
          dfs(board, visited, "", i, j, trie);
        }
      }

      return new ArrayList<String>(result);
    }