Problem
Count Palindromic Concatenation Pairs
Learn this problemProblem statement
You are given a list of lowercase strings words.
Count the number of index pairs (i, j) such that i < j and some permutation of the concatenation words[i] + words[j] can form a palindrome.
A string can be rearranged into a palindrome if at most one character has an odd frequency.
Function
countPalindromicConcatenationPairs(words: String[]) → longExamples
Example 1
words = ["ab","ba","abc","c"]return = 3The valid pairs are (0,1), (0,2), and (1,2).
Example 2
words = ["aa","bb","ab"]return = 1Only "aa" + "bb" can be rearranged into a palindrome.
Constraints
1 <= words.length- Total length of all strings is at most
3 * 10^5. words[i]contains only lowercase English letters.