解答
java
package leetcode.editor.cn;
//leetcode submit region begin(Prohibit modification and deletion)
class Solution {
public boolean isFlipedString(String s1, String s2) {
if (s1 == null && s2 == null) {
return true;
}
if (s1 == null || s2 == null) {
return false;
}
if (s1.isEmpty() && s2.isEmpty()) {
return true;
}
if (s1.length() != s2.length()) {
return false;
}
for (int i = 0, length = s1.length(); i < length; ++i) {
String ss1 = s1.substring(i);
if (s2.startsWith(ss1)) {
if (s2.equals(s1.substring(i, s1.length()) + s1.substring(0, i))) {
return true;
}
}
}
return false;
}
}
//leetcode submit region end(Prohibit modification and deletion)
测试用例
java
package leetcode.editor.cn;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
public class SolutionTest {
private Solution s = null;
@Before
public void setUp() throws Exception {
s = new Solution();
}
@Test
public void test1() {
Assert.assertTrue(s.isFlipedString("waterbottle", "erbottlewat"));
Assert.assertTrue(s.isFlipedString("erbottlewat", "waterbottle"));
}
@Test
public void test2() {
Assert.assertFalse(s.isFlipedString("aa", "aba"));
Assert.assertFalse(s.isFlipedString("aba", "aa"));
}
@Test
public void test3() {
Assert.assertTrue(s.isFlipedString("waterbottle", "waterbottle"));
}
@Test
public void test4() {
Assert.assertFalse(s.isFlipedString("abcd", "acdb"));
}
}
理解并掌握String
的startsWith
和substring
的使用方法。