给定一个字符串,判断该字符串中是否可以通过重新排列组合,形成一个回文字符串。
示例 1:
输入: "code"
输出: false
示例 2:
输入: "aab"
输出: true
示例 3:
输入: "carerac"
输出: true
C++
//Hash Map
class Solution {
public:
bool canPermutePalindrome(string s) {
map<char, int> mp;
for(char ch : s){
mp[ch]++;
}
int cnt = 0;
for(auto it : mp){
cnt += it.second % 2;
}
return cnt <= 1 ? true : false;
}
};