From 4d13e80a6944cda3b5346963c2297169b569c659 Mon Sep 17 00:00:00 2001 From: "shuang.kou" Date: Wed, 18 Mar 2020 21:28:07 +0800 Subject: [PATCH] =?UTF-8?q?Update=20=E5=87=A0=E9=81=93=E5=B8=B8=E8=A7=81?= =?UTF-8?q?=E7=9A=84=E5=AD=90=E7=AC=A6=E4=B8=B2=E7=AE=97=E6=B3=95=E9=A2=98?= =?UTF-8?q?.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../几道常见的子符串算法题.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/dataStructures-algorithms/几道常见的子符串算法题.md b/docs/dataStructures-algorithms/几道常见的子符串算法题.md index ad104471..af63c584 100644 --- a/docs/dataStructures-algorithms/几道常见的子符串算法题.md +++ b/docs/dataStructures-algorithms/几道常见的子符串算法题.md @@ -192,7 +192,7 @@ public class Main { 我们上面已经知道了什么是回文串?现在我们考虑一下可以构成回文串的两种情况: - 字符出现次数为双数的组合 -- 字符出现次数为双数的组合+一个只出现一次的字符 +- **字符出现次数为偶数的组合+单个字符中出现次数最多且为奇数次的字符** (参见 **[issue665](https://github.com/Snailclimb/JavaGuide/issues/665)** ) 统计字符出现的次数即可,双数才能构成回文。因为允许中间一个数单独出现,比如“abcba”,所以如果最后有字母落单,总长度可以加 1。首先将字符串转变为字符数组。然后遍历该数组,判断对应字符是否在hashset中,如果不在就加进去,如果在就让count++,然后移除该字符!这样就能找到出现次数为双数的字符个数。