409. Longest Palindrome
做题历程:
- 可能是第一次做,大概耗时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;
}
};