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;
}