# Minimum Number of Moves to Make Palindrome solution leetcode

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: Minimum Number of Moves to Make Palindrome solution leetcode**

Input:s = "aabb"Output:2Explanation:We can obtain two palindromes from s, "abba" and "baab". - We can obtain "abba" from s in 2 moves: "ab" -> "abab" -> "abba". - We can obtain "baab" from s in 2 moves: "aabb" -> "abab" -> "baab". Thus, the minimum number of moves needed to make s a palindrome is 2.ab

**Example 2:**

Input:s = "letelt"Output:2Explanation:One of the palindromes we can obtain from s in 2 moves is "lettel". One of the ways we can obtain it is "lete" -> "letltl" -> "lettel". Other palindromes such as "tleelt" can also be obtained in 2 moves. It can be shown that it is not possible to obtain a palindrome in less than 2 moves.et

**Constraints: Minimum Number of Moves to Make Palindrome solution leetcode**

`1 <= s.length <= 2000`

`s`

consists only of lowercase English letters.`s`

can be converted to a palindrome using a finite number of moves.