Longest Palindrome.
Given a string s
which consists of lowercase or uppercase letters, return the length of the longest palindrome that can be built with those letters.
Letters are case sensitive, for example, "Aa"
is not considered a palindrome here.
Example 1:
Input: s = "abccccdd"
Output: 7
Explanation:
One longest palindrome that can be built is "dccaccd", whose length is 7.
Example 2:
Input: s = "a"
Output: 1
Example 3:
Input: s = "bb"
Output: 2
Solution:
We can solve this by looping through the string and storing the individual character in HashSet. Whenever there is duplicate character found while insert, we will increase the counter. we also remove that duplicate value from list. Afterward , we will check if list is empty . If it is empty , it means that all of the characters are in pair. In this case we will return twice the number of match. If list is not empty then we will add just one unique element and return twice the match count with that. Please find the code in C# below.