当前位置 博文首页 > Aays2790的博客:leetcode409. 最长回文串(Javascript)

    Aays2790的博客:leetcode409. 最长回文串(Javascript)

    作者:[db:作者] 时间:2021-09-08 13:41

    在这里插入图片描述

    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)

    cs