主要思路
准备工作
vowel 表,对照表,一个元音对应一个二进制数
Map 对象,初始放入 0: -1 键值对,代表 [0,-1][0,−1] 对应的 state 为 00000 ,即十进制 0
state 变量,保存当前前缀区间的 state ,初始值 0
遍历字符串,如果当前字符是元音,在 vowel 表获取对应的二进制数,异或 上一次求出的 state ,求出当前的 state
不断往 Map 存入 state
边存边查看,和当前 state 相等的,之前存过的 state 的 位置
求出它与当前位置的距离,这个距离代表 满足条件的子串的长度
在 遍历的过程 中,让这个距离 不断挑战 res ,如果比 res 大就更新 res
最后返回 res