这里的思路是,字符串A的某个字符串子串必然包含在B中,那么遍历字符串A,从0开始逐个截取到最后一个,必然会出现可以被B包含的子串,然后使用这个子串和A剩下的子串反转拼接,必然得到B字符串。
import java.util.*;
public class Solution {
/**
* 旋转字符串
* @param A string字符串
* @param B string字符串
* @return bool布尔型
*/
public boolean solve (String A, String B) {
if(A.length() != B.length())
{
return false;
}
else
{
String res = null;
String compare = null;
for(int i = 0; i < A.length(); i++){
//从第一个字符开始拿,一直拿到最后一个字符
res = A.substring(i, A.length());
//如果B中含有A这个字符串,则记录这个字符串,尝试反转后,与A比较
if(B.contains(res)){
compare = A.substring(0, i);
break;
}
}
return (res+compare).equals(B);
}
}
}