/**
* @param {string} s
* @return {number}
*/
var longestPalindrome = function(s) {
let str = s.split('');
str.sort((a, b) => a.charCodeAt() - b.charCodeAt());
let strs = str.reduce((list, ele, index) => {
if(!list.length){
list.push({
value: ele,
length: 1,
});
}
else if(ele === list[list.length - 1].value){
list[list.length - 1].length++;
}
else{
list.push({
value: ele,
length: 1,
});
}
return list;
}, []);
strs.sort((b, a) => a.length - b.length);
let hasOdd = false;
let maxLength = strs.reduce((sum, ele, index) => {
sum += ele.length
if(ele.length % 2 !== 0){
hasOdd = true;
sum -= 1;
}
return sum;
}, 0);
return maxLength + (hasOdd ? 1 : 0);
};
复制代码
转载于:https://juejin.im/post/5ad97e4df265da0b981b00d2