가장 긴 회문을 Leetcode

제목 설명

문자 상동 순서에 의해 가장 긴을 찾기 위해 구성된 대문자와 소문자 문자열 포함을 감안할 때.

건설 과정에서 참고 대소 문자를 구분하시기 바랍니다. 이에 따라 "AA"는 회문 문자열로 사용할 수 없습니다.
회문 문자열 : 문자열 대칭

사고

문자열도 회문 입력 할 수있는 경우가 홀수 인 경우 해시, 우선, 각각의 문자열의 발생 횟수를 카운트 팔린 드롬 서열을 입력 할 수 -1. 홀수가 발생하면, 마지막 채우기 중앙 문자로 필요, 그렇지 않은 경우 홀수 표시 필요에 S.1가 없다

코드

class Solution {
public:
    int longestPalindrome(string s) {
        if(s.size()<0)
            return 0;
        vector<int> Hash(128);
        for(int i = 0; i < s.size(); i++)
        {
            Hash[s[i]-' ']++;
        }
        int res = 0;
        int max = 0;
        bool found = false;
        for(int i = 0; i < 128;i++)
        {
            if(Hash[i]%2 == 0)
            {
                res = res + Hash[i];
            }
            else
            {
                if(Hash[i] > 0)
                {
                    res = res + Hash[i]-1;
                    found = true;
                }
            }
        }
        if(found)
        {
            return res+1;
        }
        return res;
    }
};
게시 85 개 원래 기사 · 원의 칭찬 0 · 조회수 387

추천

출처blog.csdn.net/weixin_38312163/article/details/104973930