Tap here to switch tabs
Problem
Ask
Submissions

Problem: Palindrome Pairs

hard
40 min
Explore how to find all palindrome pairs in a list of unique words by using trie data structures to optimize string concatenation checks. This lesson helps you understand the problem constraints and implement an efficient algorithm with time complexity tied to the total words length.

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

  • 00 \leq words[i].length 300\leq 300

  • words[i] consists of lowercase English letters

  • All strings in words unique

Tap here to switch tabs
Problem
Ask
Submissions

Problem: Palindrome Pairs

hard
40 min
Explore how to find all palindrome pairs in a list of unique words by using trie data structures to optimize string concatenation checks. This lesson helps you understand the problem constraints and implement an efficient algorithm with time complexity tied to the total words length.

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

  • 00 \leq words[i].length 300\leq 300

  • words[i] consists of lowercase English letters

  • All strings in words unique