var longestPalindrome = function(s) {
//将数组排序
let sArr=[...s].sort()
//定义所需变量,用ifOne来判断是否已加最中间的奇数项
let [sum,ifOne,cunrrentNum]=[0,false,1]
//循环处理,计算字符重复次数且根据奇偶性加进总量
for(let i=0;i<sArr.length;i++){
if(sArr[i]===sArr[i+1]){
cunrrentNum++
continue
}
if(cunrrentNum===1 && !ifOne){
sum++
ifOne=true
}
if(cunrrentNum%2===0){
sum+=cunrrentNum
}else{
sum+=cunrrentNum-1
!ifOne?(sum++,ifOne=true):''
}
cunrrentNum=1
}
return sum
};
时间复杂度O(n),空间复杂度O(1)