class Solution {
public:
bool canConstruct(string s, int k) {
int alphabet[30] = {};
for (int i = 0; i < s.size(); i ++) {
alphabet[s[i] - 'a'] ++;
}
// 26 个字母,检查是否有奇数的
int left= 0;
for(int i = 0; i < 26; i ++) {
if(alphabet[i] % 2 == 1) {
left++;
}
}
cout << left << " " << k << endl;
// 如果有奇数,则需要将left与k的值进行对比;因为奇数个的字母都可以放在回文串的最中间的!
if(left <= k && k <= s.size()) {
return true;
}
return false;
}
};
【Daily_Code】leetcode1400.构造 K 个回文字符串
最新推荐文章于 2024-06-30 10:48:39 发布