Determining whether a string can be rearranged into a palindrome
int

All the counters are inherently non-negative. I recommend to make them unsigned, just to clarify your intentions.
What to return


Computing return value

    if (condition) {
        return false;
    }
    return true;


is a long way to say

    return !condition;

Actual condition

    oddCount != 0 &amp;&amp; oddCount != 1



is a long way to say

        oddCount &gt; 1


So I recommend to simply

    return oddCount &lt; 2; 

Efficiency

I wouldn't bother about performance at all. However, you may shave few cycles:

    ....
    charCount[(int)input.charAt(i)] ^= 1;
    ....
    oddCount += charCount[i];


thus avoiding taking modulo and making decisions inside the loop. I don't think it will make any difference however.
Assumptions and restrictions

Traditionally A man, a plan, a canal, Panama! is considered a palindrome. You really need to say what is a palindrome in your setting.