题目
解法:
其实题目很简单,只需要数出有多少个字符是出现了奇数词的,因为在一个回文字符串中,至多只能出现一种个数为奇数的字符,所以这个数必须要小于我们总共形成的回文字符串个数。而且一旦这个条件满足,剩下的都是出现偶数次数的字符,一定能构造出符合题意的k个回文字符串
class Solution:
def canConstruct(self, s: str, k: int) -> bool:
if len(s)<k:
return False
c_count = collections.Counter(s)
odd_count = 0
for key,v in c_count.items():
if v%2!=0:
odd_count += 1
if odd_count > k:
return False
return True