查找最长回文字符串的长度JavaScript

给定一个由小写或大写字母组成的字符串s,我们需要返回可以用这些字母建立的最长回文的长度。字母区分大小写,例如,“ Aa”在这里不被视为回文。

例如-

如果输入字符串是-

const str = "abccccdd";

那么输出应该是7

因为可以建立的最长回文是“ dccaccd”,其长度为7。

示例

const str = "abccccdd";
const longestPalindrome = (str) => {
   const set = new Set();
   let count = 0;
   for (const char of str) {
      if (set.has(char)) {
         count += 2; set.delete(char);
      }
      else {
         set.add(char);
      }
   }
   return count + (set.size > 0 ? 1 : 0);
};
console.log(longestPalindrome(str));

输出结果

控制台中的输出将是-

7