地址:https://leetcode.cn/problems/longest-palindrome/
1 ''' 2 给定一个包含大写字母和小写字母的字符串 s ,返回 通过这些字母构造成的 最长的回文串 。 3 4 在构造过程中,请注意 区分大小写 。比如 "Aa" 不能当做一个回文字符串。 5 6 7 8 示例 1: 9 10 输入:s = "abccccdd" 11 输出:7 12 解释: 13 我们可以构造的最长的回文串是"dccaccd", 它的长度是 7。 14 示例 2: 15 16 输入:s = "a" 17 输入:1 18 示例 3: 19 20 输入:s = "bb" 21 输入: 2 22 23 思路: 24 1、先计数 25 2、判断是偶数的话则 直接加 26 3、如果是奇数的话则 加 该值-1 27 4、最后如果有奇数,最终值+1,放在中间 28 29 ''' 30 31 class Solution: 32 def longestPalindrome(self, s: str) -> int: 33 l = 0 34 j = 0 35 newS = collections.Counter(s) 36 for i in newS.values(): 37 if i%2 ==0: 38 l += i 39 else : 40 l += i-1 41 j = 1 42 return l+j
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/longest-palindrome
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。