1
0
mirror of https://github.com/Snailclimb/JavaGuide synced 2025-06-20 22:17:09 +08:00

Update 几道常见的子符串算法题.md

This commit is contained in:
shuang.kou 2020-03-18 21:28:07 +08:00
parent 5cd581440c
commit 4d13e80a69

View File

@ -192,7 +192,7 @@ public class Main {
我们上面已经知道了什么是回文串?现在我们考虑一下可以构成回文串的两种情况: 我们上面已经知道了什么是回文串?现在我们考虑一下可以构成回文串的两种情况:
- 字符出现次数为双数的组合 - 字符出现次数为双数的组合
- 字符出现次数为双数的组合+一个只出现一次的字符 - **字符出现次数为偶数的组合+单个字符中出现次数最多且为奇数次的字符** (参见 **[issue665](https://github.com/Snailclimb/JavaGuide/issues/665)**
统计字符出现的次数即可双数才能构成回文。因为允许中间一个数单独出现比如“abcba”所以如果最后有字母落单总长度可以加 1。首先将字符串转变为字符数组。然后遍历该数组判断对应字符是否在hashset中如果不在就加进去如果在就让count++,然后移除该字符!这样就能找到出现次数为双数的字符个数。 统计字符出现的次数即可双数才能构成回文。因为允许中间一个数单独出现比如“abcba”所以如果最后有字母落单总长度可以加 1。首先将字符串转变为字符数组。然后遍历该数组判断对应字符是否在hashset中如果不在就加进去如果在就让count++,然后移除该字符!这样就能找到出现次数为双数的字符个数。