思路与说明: 说明: 当长串t不变, 有大量的短串需要判断 (比如上亿级别的), 使用此法效率非常高, 可以节省大量时间. 注意: 题目原本说字符串只包含小写字母, 但实际测试用例里面有包含了数字字符的, 对如下代码做一些修改后, 也能解决. 不做修改的话, 只适用于小写字母的情况. 思路: 举例字符串t是"abcabdd", 使用二维数组d[26][t.length()] 来预处理, 经过预处理后, 再对子串进行判断, 效率将非常高, 分析如下图: 主要对应代码 for (int i = 0; i < 26; i++) { d[i][t.length()] = -1; } ...