public boolean rotateString(String A, String B) {
if(A.equals(B))
return true;
char []a=A.toCharArray();
char []b=B.toCharArray();
int len=b.length;
if(a.length != b.length)
return false;
for(int i=0;i<len;i++) {
//寻找与B首字母匹配的位置
if(a[i]==b[0]) {
//A坐标为offset 以offset为分割线,搜索字符数组a的右半段[offset+1,len)
int offset=i;
int p=1,q;
for(q=offset+1;q<len;q++,p++) {
if(a[q]!=b[p])
break;//匹配不成功跳出
}
//offset 右半段匹配成功 匹配左半段[0,offset)
if(q==len) {
for(int l=0;l<offset;l++,p++) {
if(a[l]!=b[p])
break;
}
if(p>=len)
return true;
}
}
}
return false;
}
Leetcode_cn-796. 旋转字符串[JAVA]
最新推荐文章于 2020-05-07 10:03:21 发布