c_cpp 可以换一根绳子形成一个回文吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 可以换一根绳子形成一个回文吗?相关的知识,希望对你有一定的参考价值。

bool can_form_palindrome(string s) {
    if(s.empty()) return false;
    int hash[256] = {0};
    for(auto c : s) {
        hash[c]++;
    }

    int odd_num = 0;
    for(int i=0; i<256; i++) {
        if(hash[i] % 2 != 0) {
            odd_num++;
            if(odd_num > 1) return false;
        }
    }
    return true;
}

// solution 2
bool can_form_palindrome(string s) {
    if(s.empty()) return false;
    sort(s.begin(), s.end());
    int odd_count = 0;
    int char_count = 1;
    for(int i=1; i<s.size(); i++) {
        if(s[i] == s[i-1])
            char_count++;
        else {
            if(char_count % 2 != 0) {
                odd_count++;
                if(odd_count > 1) return false;
            }
            char_count = 1;
        }
    }
    return true;
}

以上是关于c_cpp 可以换一根绳子形成一个回文吗?的主要内容,如果未能解决你的问题,请参考以下文章

用皮筋怎么编绳

金融量化电话口试-智力题

PHP 清理一根绳子

PHP Camel Case一根绳子

我怎样才能把一根绳子分成不同的部分,然后把每一块分成一层?

在 td 标记元素中强制自动换行 [重复]