Problem · String

Merging Palindromes

Learn this problem
MediumAtlassian logoAtlassianFULLTIMEOA

Problem statement

From the letters of first, choose a multiset that can be rearranged into a palindrome. Do the same independently for second. Combine the two chosen multisets and rearrange them into one palindrome.

Return the longest palindrome obtainable this way. If several have maximum length, return the lexicographically smallest.

Function

mergingPalindromes(first: String, second: String) → String

Examples

Example 1

first = "aabbc"second = "ddefefq"return = "abdefcfedba"

Use all available pairs and the smallest usable center. The result has maximum length and is alphabetically smallest among those results.

Constraints

  • 1 <= first.length, second.length <= 200000
  • Both strings contain lowercase English letters only.

More Atlassian problems

drafts saved locally
public String mergingPalindromes(String first, String second) {
  // Write your code here.
}
first"aabbc"
second"ddefefq"
expected"abdefcfedba"
checking account