非独立思考

    1. class Solution {
    2. public int longestPalindrome(String s) {
    3. int[] count = new int[128];
    4. for (int i = 0; i < s.length(); i++) {
    5. // 全新思路,怎么计算字符串中某个字符出现的次数?或者记录?
    6. // 用数组存放该字符char型值的个数
    7. count[s.charAt(i)]++;
    8. }
    9. int res = 0;
    10. for (int val : count) {
    11. // 某个数字最多使用(val / 2) * 2次
    12. res += (val / 2) * 2;
    13. if (val % 2 == 1 && res % 2 == 0) {
    14. // 最多再加一个数字凑成中心字母
    15. res++;
    16. }
    17. }
    18. return res;
    19. }
    20. }