1. 程式人生 > >判斷兩個字符串是否互為旋轉詞

判斷兩個字符串是否互為旋轉詞

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

判斷兩個字符串是否互為旋轉詞