本文主要是介绍第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的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!