9,509
社区成员
发帖
与我相关
我的任务
分享
字符串轮转。给定两个字符串s1和s2,请编写代码检查s2是否为s1旋转而成(比如,waterbottle是erbottlewat旋转后的字符串)。
示例1:
输入:s1 = "waterbottle", s2 = "erbottlewat"
输出:True
示例2:
输入:s1 = "aa", s2 = "aba"
输出:False
提示:
字符串长度在[0, 100000]范围内。
说明:
你能只调用一次检查子串的方法吗?
解法一:
class Solution {
public boolean isFlipedString(String s1, String s2) {
int len1 = s1.length();
int len2 = s2.length();
if(len1!=len2) return false;
if(s1.equals("")) return true;
for(int i=1;i<=len1;i++){
if(s1.substring(0,i).equals(s2.substring(len2-i,len2))){
if(s1.substring(i,len1).equals(s2.substring(0,len2-i))) return true;
}
}
return false;
}
}
解法二:
class Solution {
public boolean isFlipedString(String s1, String s2) {
int len1 = s1.length();
int len2 = s2.length();
if(len1!=len2) return false;
s1=s1+s1;
if(s1.indexOf(s2)!=-1) return true;
return false;
}
}