zoukankan      html  css  js  c++  java
  • leetcode 409. Longest Palindrome

    Given a string which consists of lowercase or uppercase letters, find the length of the longest palindromes that can be built with those letters.
    This is case sensitive, for example "Aa" is not considered a palindrome here.
    Note:
    Assume the length of given string will not exceed 1,010.
    题目大意:
    给定一堆字母,求这些字母能能组合得到的最长的回文串的长度
    好久没做过这么简单的题目了,直接统计每种字符的个数,偶数的直接加,奇数的-1再求和,再加1。.

    class Solution {
    public:
        int longestPalindrome(string s) {
            map<char, int> mp;
            for (int i = 0; i < s.size(); ++i) {
                mp[s[i]]++;
            }
            int od = 0;
            int ev = 0;
            int mark = 0;
            for (auto x : mp) {
                if (x.second & 1) {
                    mark = 1;
                    od += x.second - 1;
                } else {
                    ev += x.second;
                }
            }
            if (mark) od++;
            return ev + od;
        }
    };
    
  • 相关阅读:
    字符串类题
    计算器(栈、字符串)
    排序与检索,UVa 10474,(大理石在哪里)
    2019第十届蓝桥杯Java题
    暴力求解法
    图的遍历
    栈 队列与优先队列
    刷题小知识总结点
    字符串题单
    string
  • 原文地址:https://www.cnblogs.com/pk28/p/7520007.html
Copyright © 2011-2022 走看看