LeetCode409.最长回文串 发表于 2023-02-16 更新于 2023-03-09 分类于 计算机基础知识 , 编程语言 , 算法 , Java 阅读次数: 本文字数: 408 阅读时长 ≈ 1 分钟 桶装法求字符串最长回文串,所有奇数次字符只能有一个留下做回文串中心 解题思路桶装法,字母出现偶数次一定可以计入总长度,再用count记录所有奇数余1次数,最后用长度减去count+1,因为所有的余1只能留下一个当中心 代码123456789101112131415class Solution { public int longestPalindrome(String s) { // 找出可以构成最长回文串的长度 int[] arr = new int[128]; for(char c : s.toCharArray()) { arr[c]++; } int count = 0; for (int i : arr) { count += (i % 2);//比如有5个a,可以取4个a形成回文串,count记录所有奇数余1次数,最后只能加1次 } return count == 0 ? s.length() : (s.length() - count + 1); }}//s.toCharArray -------------本文结束感谢您的阅读------------- 打赏 微信支付 支付宝 本文作者: Pistachiout 本文链接: https://pistachiout.github.io/wiki/LeetCode409. 最长回文串/ 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!