Skip to content

Latest commit

 

History

History
43 lines (33 loc) · 971 Bytes

409.longest-palindrome.md

File metadata and controls

43 lines (33 loc) · 971 Bytes

给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。

在构造过程中,请注意区分大小写。比如  "Aa"  不能当做一个回文字符串。

注意: 假设字符串的长度不会超过 1010。

示例 1:

输入: "abccccdd"

输出: 7

解释: 我们可以构造的最长的回文串是"dccaccd", 它的长度是 7。

来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/longest-palindrome 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。


出现>=2 次的字符,一共可以组成多长的子串 判断是否还有剩余,决定加一还是不加

var longestPalindrome = function (s) {
  let set = new Set();
  let len = 0;
  for (let c of s) {
    if (set.has(c)) {
      len += 2;
      set.delete(c);
    } else {
      set.add(c);
    }
  }
  if (set.size > 0) len += 1;
  return len;
};