Menu
CoddyTech

Longest Palindrome

简单哈希贪心python iconjava iconcpp iconc iconjs icon+10

你会得到一个由大写和小写字母组成的字符串 s。重新排列其中的字母,构造出尽可能长的回文,并返回该回文的长度。你可以按任意顺序排列字母,也可以舍弃一些字母,但每个字母的使用次数不能超过它在 s 中出现的次数。

大写字母和小写字母是不同的字母,所以 Aa 不是回文。

函数

longestPalindrome(s: string) → integer
sstring
你可以使用的字母,包括大写和小写
返回值integer
你可以用这些字母构建的最长回文的长度

约束条件

  • 1 ≤ s.length ≤ 5 × 104
  • s 只包含英文字母,即 a 到 z 和 A 到 Z。
  • 你不必使用每个字母。

示例

输入
s = "coddyCode"
输出
5
解释
o 出现了两次,d 出现了三次,其余字母各出现一次。一对 o、一对 d,再加上中间剩下的一个字母,长度为 5,例如 doCod。
challenge icon

进阶

你能否仍在 O(n) 时间内,返回一个最长回文串本身及其长度?

重置代码
def longestPalindrome(s):
    # 在这里编写代码

测试 #1

测试 #2

测试 #3

参数

s = "coddyCode"

预期输出

5