LeetCode 409. Longest Palindrome
Solution1:我的答案
有时候真笨的可以。。。
class Solution {
public:
int longestPalindrome(string s) {//所有出现偶数次(非0)的字母均可;加一组最大的奇数次的字母
if (s.size() <= 1) return s.size();
int times[128] = {0}, res = 0, odd_label = 0;
memset(times, 0, 128);
for (int i = 0; i < s.size(); i++) {
if (times[s[i]] == 0)
times[s[i]] = 1;
else
times[s[i]]++;
}
for (int i = 65; i <= 122; i++) {
if (times[i] == 0)
continue;
else if (times[i] % 2 == 0)
res += times[i];
else {
odd_label = 1;
res += times[i] - 1;
}
}
return odd_label == 1 ? res + 1 : res;
}
};