You are given a **0-indexed** array of **unique** strings `words`.
A **palindrome pair** is a pair of integers `(i, j)` such that:
- `0 <= i, j < words.length`
- `i != j`
- The concatenation of `words[i] + words[j]` is a palindrome.
Return an array of all the **palindrome pairs** of indices. You may return the answer in **any order**.
Example 1
Input:words = ["abcd","dcba","lls","s","sssll"]
Output:[[0,1],[1,0],[2,4],[3,2]]
Explanation:"abcddcba", "dcbaabcd", "llssssll", and "slls" are palindromes.
Example 2
Input:words = ["bat","tab","cat"]
Output:[[0,1],[1,0]]
Explanation:"battab" and "tabbat" are palindromes.
Example 3
Input:words = ["a",""]
Output:[[0,1],[1,0]]
Explanation:"a" and "a" are both palindromes (empty string concatenation).
Constraints
- 1 <= words.length <= 5000
- 0 <= words[i].length <= 300
- words[i] consists of lowercase English letters.