第13题 check rotation string

此题来自cracking the coding interview,这本书是讲如何准备程序员面试的,非常不错

免积分下载:

http://download.csdn.net/detail/stevemarbo/4098275




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


example:

"waterbottle" is a rotation of "erbottlewat"


此题方法很巧妙,把s1和自己拼接起来,形成一个字符串,这个字符串就会包含各种rotation的情况


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

你可能感兴趣的:(第13题 check rotation string)