Minimum Number of Moves to Make Palindrome
You are given a string s consisting only of lowercase English letters.
In one move, you can select any two adjacent characters of s and swap them.
Return the minimum number of moves needed to make s a palindrome.
Note that the input will be generated such that s can always be converted to a palindrome.
Example 1
Input
s = "aabb"Output
2Both "abba" and "baab" can be obtained from
s in 2 moves, so the minimum number of moves needed is 2.Example 2
Input
s = "letelt"Output
2One palindrome obtainable in 2 moves is "lettel", and it is not possible to obtain a palindrome in fewer than 2 moves.
Constraints
- 1 <= s.length <= 2000
- s consists only of lowercase English letters.
- s can be converted to a palindrome using a finite number of moves.