给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。
在构造过程中,请注意区分大小写。比如 "Aa"
不能当做一个回文字符串。
注意:
假设字符串的长度不会超过 1010。
示例 1:
输入: "abccccdd" 输出: 7 解释: 我们可以构造的最长的回文串是"dccaccd", 它的长度是 7。
思想:
代码(c):
int longestPalindrome(char * s) { int number[60] = {0}; int len = strlen(s); int ans = 0; for( int i = 0; i < len; i++ ) { number[s[i]-‘A‘] += 1;//统计字母个数 } for( int i = 0; i < 60; i++ ) { ans += number[i] - number[i]%2;//统计回文串长度 } return ans < len ? ans+1 : ans;//输出 }
2020-03-19-14:19:02
原文:https://www.cnblogs.com/Sxccz/p/leetcode_2.html