leetcode 409. 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.
题目大意:
给定一堆字母,求这些字母能能组合得到的最长的回文串的长度
好久没做过这么简单的题目了,直接统计每种字符的个数,偶数的直接加,奇数的-1再求和,再加1。.
class Solution {
public:
int longestPalindrome(string s) {
map<char, int> mp;
for (int i = 0; i < s.size(); ++i) {
mp[s[i]]++;
}
int od = 0;
int ev = 0;
int mark = 0;
for (auto x : mp) {
if (x.second & 1) {
mark = 1;
od += x.second - 1;
} else {
ev += x.second;
}
}
if (mark) od++;
return ev + od;
}
};
原文地址:http://www.cnblogs.com/pk28/
与有肝胆人共事,从无字句处读书。
欢迎关注公众号:
欢迎关注公众号: