Longest Palindrome(C++最长回文串)

解题思路:

(1)记录每个字母出现的次数,偶数均可以组成回文,中间只能放字符为奇数的字符串

class Solution {
public:
    int longestPalindrome(string s) {
        int count=0;
        unordered_map<char,int> mp;
        for(int i=0;i<s.length();i++) {
            mp[s[i]]++;
        }
        
        unordered_map<char,int>::iterator it;
        for(it=mp.begin();it!=mp.end();it++) {
            if(it->second%2!=0) count++;
        }
        
        if(count>=1) return s.length()-count+1;
        else return s.length();
    }
};

 

上一篇:poj1159 Palindrome


下一篇:python统计英文文本中的回文单词数