class Solution {
public:
bool canPermutePalindrome(string s) {
int l = s.length();
if ((l==2)&&(s[0]!=s[1])) return false;
std::map<char,int> mymap;
for (int i =0;i<l;i++) mymap[s[i]]=0;
for (int i =0;i<l;i++) mymap[s[i]]++;
int count_odd=0;
for (std::map<char,int>::iterator it=mymap.begin(); it!=mymap.end(); ++it){
if (it->second%2==1) count_odd++;
}
if (count_odd>1) return false;
return true;
}
};
C++ 字典 map,遍历字典中的元素的时候,小心要不要用key来遍历。写的程序和想法并不一致。