Saturday, September 23, 2017

[LeetCode]Palindrome Permutation


统计各个字符的数量,看是否只有一个字符的数量是奇数即可。值得一提的是,我们不需要用map,用set,每次里面没有就insert,有的话就erase,剩下的都是数量为奇数的字符。O(n)时间和空间复杂度,代码如下:


class Solution {
public:
bool canPermutePalindrome(string s) {
int len = s.size();
unordered_set<int> set;
for(auto& c : s)
{
if(set.find(c) != set.end())
set.erase(c);
else
set.insert(c);
}
return set.size() <= 1;
}
};

No comments:

Post a Comment