Search⌘ K
AI Features

Solution: Palindrome Pairs

Explore how to identify all palindrome pairs in a list by leveraging a Trie data structure. Learn to check reversed words and palindrome prefixes or suffixes efficiently to solve this problem in O(n*k²) time, where n is the number of words and k is the length of the longest word.

Statement

You are given a 0-indexed array of unique strings called words.

A palindrome pair is defined as a pair of indexes (i, j) where both i and j are within the valid range of the list of words (that is, 00 \leq i, j << words.length), and i is not equal to j. The key condition is that when the word at index i is concatenated with the word at index j (forming words[i] + words[j]), the resulting string must be a palindrome.

Your task is to return all valid palindrome pairs as a list of index pairs.

Additionally, your solution must have a time complexity of O(sum ofO(\text{sum of} words.length)).

Constraints:

  • 11 \leq words.length 1000\leq 1000

  • ...