Đầu tiên, chúng ta sẽ lưu tất cả các từ trong danh sách từ words vào cây Trie.
Sau đó, chúng ta sẽ duyệt qua từng ký tự board[i][j] trong ma trận ký tự board.
Từ mỗi ô hiện tại, chúng ta sẽ thực hiện tìm kiếm theo chiều sâu từ các hướng trên, dưới, trái, phải. Mỗi khi đi qua một ô, chúng ta sẽ thay đổi ký tự của ô đó thành một ký tự đặc biệt để tránh việc duyệt qua lại, sau khi tìm kiếm theo chiều sâu hoàn tất, chúng ta sẽ phục hồi ký tự của ô đó.
Nếu đường đi hiện tại chính xác là một từ trong danh sách words, chúng ta sẽ thêm từ đó vào mảng kết quả.
Nếu đường đi hiện tại là tiền tố của một từ trong danh sách words, chúng ta sẽ tiếp tục tìm kiếm.
Nếu không phải là tiền tố của từ trong danh sách words, chúng ta sẽ dừng tìm kiếm.