【面试题 01.04】回文排列
问题
给定一个字符串,编写一个函数判定其是否为某个回文串的排列之一。
回文串不一定是字典当中的单词。
示例
输入: "tactcoa"
输出: true(排列有"tacocat"、"atcocta",等等)
解答
class Solution {
public:
bool canPermutePalindrome(string s) {
bitset<128> bs;
for (char ch : s) bs.flip(ch);
return bs.count() < 2;
}
};
重点思路
学习C++中bitset
的用法(需要#include <bitset>
)。