判斷兩個字符串是否互為旋轉詞
阿新 • • 發佈:2018-10-02
public 實現 bool 方式 code rem 是否 bcd 題目
題目
對於一個字符串str,把前面任意部分挪到後面形成的字符串叫作str的旋轉詞。比如str=”12345”,其旋轉詞有”23451”、”34512”、”45123”、”51234”。給定兩個字符串a和b,判斷a和b是否互為旋轉詞。
實現
這是一種非常討巧的實現方式,將原始字符串累加一次,並以用String自帶的contains方法判斷是否包含所判斷的是否匹配的字符串
import org.junit.Assert; import org.junit.Test; /** * @author lorem */ public class IsRotationTest { boolean isRotation(String str1, String str2) { if (str1 == null || str2 == null || str1.length() != str2.length()) { return false; } String str = str1 + str1; if (str.contains(str2)) { return true; } return false; } @Test public void test() { String str1 = "abcd"; String str2 = "dcad"; Assert.assertEquals(true,isRotation(str1, str2)); } }
判斷兩個字符串是否互為旋轉詞