编程之美3.1
给定两个字符串s1和s2,要求判定s2是否能被s1做循环移位得到的字符串所包含
例如,给定s1 = AABCD, s2 = CDAA,返回true,给定s1 = ABCD, s2 = ACBD,返回false
public static boolean isIn(String par,String son){
boolean flag=false;
char[] pars=par.toCharArray();
char[] sons=son.toCharArray();
int parLen=pars.length;
int sonLen=sons.length;
for(int i=0;i<parLen;i++){
if(pars[i]==sons[0]){
int j;
for(j=0;j<sonLen;j++){
if(pars[(i+j)%parLen]!=sons[j]){
break;
}
}
if(j==sonLen){
flag=true;
break;
}
}
}
return flag;
}
这个算法没有考虑一些特殊值的情况。