Appearance
409. 最长回文串
原题链接:LeetCode 409. 最长回文串
题目描述
给定一个包含大写字母和小写字母的字符串 s ,返回 通过这些字母构造成的 最长的 回文串 的长度。
在构造过程中,请注意 区分大小写 。比如 "Aa" 不能当做一个回文字符串。
示例 1:
**输入:**s = "abccccdd" **输出:**7 解释: 我们可以构造的最长的回文串是"dccaccd", 它的长度是 7。
示例 2:
**输入:**s = "a" **输出:**1 **解释:**可以构造的最长回文串是"a",它的长度是 1。
提示:
- `1 <= s.length <= 2000`
- `s` 只由小写 **和/或** 大写英文字母组成
难度: Easy
题解代码
javascript
/**
* @param {string} s
* @return {number}
*/
var longestPalindrome = function(s) {
const hash = {}
for (let i = 0; i < s.length; i++) {
hash[s[i]] = hash[s[i]] ? hash[s[i]] + 1 : 1
}
let res = 0
for (let k in hash) {
res += hash[k] % 2 ? hash[k] - 1 : hash[k]
}
return res < s.length ? ++res : res
};