找到尽可能长的回文串,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

更新时间: 2020 年 11 月 21 日

349 次浏览

开启您的职业生涯

通过完成课程获得认证

立即开始
广告