在《编程之美上》看到了字符串的移位包含问题:
给一个S1="AABCD",判断S2是否能通过S1移位得到,例如S2=“CDAA”,应该返回true。
解决一:蛮力法,就是双重循环,排列所有的可能性。
解决二:S1+S1=AABCDAABCD,那么S2就是S1+S1的子串,用CONTAINS就可以实现判断。
下面是亲测可用代码:
/**
* * @author LilyLee
* @date 2017年3月2日
* @Version
*
*/
public class HelpTest {
public static final int MATCH = 1;
public static final int NOMATCH = 0;
private String source;
public HelpTest(String source){
this.source = source;
}
public int doMatch(String pattern) {
String str =