Skip to content
On this page

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
};

技术文档集合