1.9假定有一个方法isSubstring,可检查一个单词是否为其他字符串的子串。给定两个字符串s1和s2,请编写代码检查s2是否是s1旋转而成,而且只能调用一次isSubstring。(waterbottle是erbottlewat旋转后的字符串)
思路:
如果s2是s1旋转而成,那么必然存在字符串X、Y满足,
S2 = YX,
S1 = XY,
那么,
s1s1 = XYXY,
s2必然是s1s1的子串。
public boolean isRotation(String s1, String s2) { int len = s1.length(); if (len == s2.length() && len > 0) { String s1s1 = s1 + s1; return isSubstring(s1s1, s2); } return false; }