查找指定的两个字符串中出现的最大长度的子串
首先需要判断哪个字符串长,若短串就是子串,那么最大长度子串就是短串.若不是再查找短串长度-1个字符的情况,由此可以得出切割的规律如下表:
截取短串的开始下标 | 截取短串的结束下标 | |
---|---|---|
短串长度个字符 | 0 | 短串的长度 |
- | - | - |
短串长度-1个字符 | 0 | 短串的长度-1 |
短串长度-1个字符 | 1 | 短串的长度 |
- | - | - |
短串长度-2个字符 | 0 | 短串的长度-2 |
短串长度-2个字符 | 1 | 短串的长度-1 |
短串长度-2个字符 | 2 | 短串的长度 |
再由此表可以得出循环的规律.
我们还需要考虑有多个长度相同的子串时的情况,添加一个boolean值来判断是否还有该长度的子串
并且长度相同的子串要用一个很不常见的字符串来连接到一起成一个新的字符串
再用substring截取掉新字符串最后面这个不常见的字符串
再用split以这个不常见字符串为准,截成字符串数组
/**
* 查找指定的字符串str1,str2