LeetCode 409, Easy. Topics: Hash Table, String, Greedy. View on LeetCode.
Generate this problem as a practice environment: tested reference solution, 13 parametrized pytest cases, and a playground notebook:
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.
Examples
Explanation: One longest palindrome that can be built is “dccaccd”, whose length is 7.
Explanation: The longest palindrome that can be built is “a”, whose length is 1.
Constraints
1 <= s.length <= 2000
s consists of lowercase and/or uppercase English letters only.
Solution
Reference implementation from solution.py on GitHub, full suite in test_solution.py:
Complexity
Grind 75, Grind, NeetCode All. Last modified on September 7, 2026