Advertisement

每天一道

阅读量:

2022 年 5月

2022.5.1

409. 最长回文串

这道题目考察的是字符频率统计与回文串构造的基本逻辑。核心思路在于利用哈希表或数组记录每个字符出现的次数,因为回文串要求左右对称,所以大多数字符必须成对出现。我们需要遍历所有字符,将偶数次的字符全部计入长度,而对于奇数次的字符,则只能取其中最大的一个作为中心字符。这种贪心策略确保了在给定字符集合下,能构建出的回文串长度达到理论最大值。```
class Solution {
public int longestPalindrome(String s) {
Map<Character, Integer> map = new HashMap<>();
int ans = 0;
for(int i = 0; i < s.length(); i++) map.put(s.charAt(i), map.getOrDefault(s.charAt(i), 0) + 1);
boolean flag = false;
for(Character key : map.keySet()){

全部评论 (0)

还没有任何评论哟~