409. Longest Palindrome


做题历程:

  1. 可能是第一次做,大概耗时5分钟独立解出

难度应该算是最简单的那一档题了,就是用最简单的Hash Map,基本只需要注意:数完所有双数的char之后需不需要数单数的即可,代码如下:

class Solution {
public:
    int longestPalindrome(string s) {
        unordered_map<char, int> char_count;
        int tmp_cnt = 0;
        for (int i = 0; i < s.length(); ++i) {
            auto found = char_count.find(s[i]);
            if (found ==  char_count.end()) {
                char_count[s[i]] = 0;
            }
            ++char_count[s[i]];
            if (char_count[s[i]] % 2 == 0) {
                tmp_cnt += 2;
            }
        }
        return s.length() > tmp_cnt ? tmp_cnt + 1 : tmp_cnt;
    }
};

results matching ""

    No results matching ""