题目来源
本题的解题思路其实很简单。
给定一个字符串s,我们可以任意重排s内字符的顺序,如果新串是回文串,则结果数量+1。
比如:s = "aabb",重排后有:"baab","abba" 两种回文串。
那么,我们该如何求解一个字符串重排后可得的回文串数量呢?
思路很简单:
首先,我们需要统计字符串s中各个字符的出现次数
然后,检查“出现次数为奇数次”的字符的数量,如果这个数量超过1,那么字符串s就无法重排出回文串,因为回文串是左右对称的,即可以在中间位置一分为二,比如:
- 没有“出现次数为奇数次”的字符