Longest Palindrome
Given a string which consists of lowercase or uppercase letters, find the length of the longest palindromes that can be built with those letters.
This is case sensitive, for example"Aa"
is not considered a palindrome here.
Note: Assume the length of given string will not exceed 1,010.
Example:
题目大意:
给定一个只包含小写或者大写字母的字符串,寻找用这些字母可以组成的最长回文串的长度。
大小写敏感,例如"Aa"在这里不认为是一个回文。
注意:
假设给定字符串的长度不超过1000。
解题思路:
统计每个字母的出现次数:
若字母出现偶数次,则直接累加至最终结果
若字母出现奇数次,则将其值-1之后累加至最终结果
若存在出现奇数次的字母(可存在一个奇书),将最终结果+1。(一旦出现奇书,则使odd=1,无论出现多少次奇书,都只等于1,因为最后结果只允许出现一个奇书)
简化:先加上每个数字出现的个数,如果是奇数,则减一,并且令odd=1
collections.Counter is a container that keeps track of how many times equivalent values are added.
Last updated
Was this helpful?