好久没发每日leetcode文了
反正找到工作了,也不太想写了
不过我还是想骗P币
409. Longest Palindrome
给一个字串
请回传用这个字串里的字符,可以组成的最常回文的长度
思路:
先记录每个字母出现的次数
偶数直接加上去
奇数扣掉再加
最后看总和有没有超过字串长度
没有再加1
c code:
int longestPalindrome(char* s) {
int rec[52]={},n=strlen(s),ans=0;
for (int i=0;i<n;i++){
if (s[i]>='a'){
rec[s[i]-'a']++;
}else{
rec[s[i]-'A'+26]++;
}
}
for (int i=0;i<52;i++){
if ((rec[i]&1)==0){
ans+=rec[i];
}else{
ans+=(rec[i]-1);
}
}
if (ans+1<=n){
return ans+1;
}
return ans;
}