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

javascriptweb developmentfront end technologyobject oriented programming

给定一个由小写或大写字母组成的字符串 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

相关文章