LeetCode面试题 01.09 字符串轮转

[复制链接]
发表于 2025-9-6 10:45:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
题目
解答
  1. package leetcode.editor.cn;
  2. //leetcode submit region begin(Prohibit modification and deletion)
  3. class Solution {
  4.     public boolean isFlipedString(String s1, String s2) {
  5.         if (s1 == null && s2 == null) {
  6.             return true;
  7.         }
  8.         if (s1 == null || s2 == null) {
  9.             return false;
  10.         }
  11.         if (s1.isEmpty() && s2.isEmpty()) {
  12.             return true;
  13.         }
  14.         if (s1.length() != s2.length()) {
  15.             return false;
  16.         }
  17.         for (int i = 0, length = s1.length(); i < length; ++i) {
  18.             String ss1 = s1.substring(i);
  19.             if (s2.startsWith(ss1)) {
  20.                 if (s2.equals(s1.substring(i, s1.length()) + s1.substring(0, i))) {
  21.                     return true;
  22.                 }
  23.             }
  24.         }
  25.         return false;
  26.     }
  27. }
  28. //leetcode submit region end(Prohibit modification and deletion)
复制代码
测试用例
  1. package leetcode.editor.cn;
  2. import org.junit.Assert;
  3. import org.junit.Before;
  4. import org.junit.Test;
  5. public class SolutionTest {
  6.     private Solution s = null;
  7.     @Before
  8.     public void setUp() throws Exception {
  9.         s = new Solution();
  10.     }
  11.     @Test
  12.     public void test1() {
  13.         Assert.assertTrue(s.isFlipedString("waterbottle", "erbottlewat"));
  14.         Assert.assertTrue(s.isFlipedString("erbottlewat", "waterbottle"));
  15.     }
  16.     @Test
  17.     public void test2() {
  18.         Assert.assertFalse(s.isFlipedString("aa", "aba"));
  19.         Assert.assertFalse(s.isFlipedString("aba", "aa"));
  20.     }
  21.     @Test
  22.     public void test3() {
  23.         Assert.assertTrue(s.isFlipedString("waterbottle", "waterbottle"));
  24.     }
  25.     @Test
  26.     public void test4() {
  27.         Assert.assertFalse(s.isFlipedString("abcd", "acdb"));
  28.     }
  29. }
复制代码
理解并把握String的startsWith和substring的利用方法。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告
回复

使用道具 举报

×
登录参与点评抽奖,加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表