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