409. Longest Palindrome

Difficulty:
Related Topics:
Similar Questions:

Problem

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
Explanation: The longest palindrome that can be built is "a", whose length is 1.

  Constraints:

Solution (Java)

class Solution {
    public int longestPalindrome(String s) {
        BitSet set = new BitSet(60);
        for (char c : s.toCharArray()) {
            set.flip(c - 'A');
        }
        if (set.isEmpty()) {
            return s.length();
        }
        return s.length() - set.cardinality() + 1;
    }
}

Explain:

nope.

Complexity: