首页 > 代码库 > Cracking the Coding Interview Q1.8

Cracking the Coding Interview Q1.8

Assume you have a method isSubstring which checks if one word is a substring of another. Given two strings, s1 and s2, write code to check if s2 is a rotation of s1 using only one call to isSubstring ( i.e., “waterbottle” is a rotation of “erbottlewat”).

 

思路:s1连接s1构成新字符串,然后判断s2是否是s1s1的子串即可。

 

    public static boolean isRotation(String s1, String s2) {        int len = s1.length();        /* check that s1 and s2 are equal length and not empty */        if (len == s2.length() && len > 0) {             /* concatenate s1 and s1 within new buffer */            String s1s1 = s1 + s1;            return isSubstring(s1s1, s2);        }        return false;    }