LeetCode面试题 01.09 字符串轮转

题目

解答

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

理解并掌握StringstartsWithsubstring的使用方法。

相关推荐
benbenAItalk5 小时前
数字人口播视频的批量生产实践:素材规范、任务编排与质量验收
java·前端·音视频
sunshine22 girl5 小时前
Java学习二 基本语法2, 算术运算符
java·学习
niucloud-admin5 小时前
JAVA V6 多商户商城 开发文档——插件目录结构
java·开发语言
2601_962885725 小时前
如何用 Python 扫描 A 股跳空缺口并统计缺口回补概率?
java·前端·python
滕州市燕猫虎计算机科技工作室个体工商户5 小时前
Java锁
java·开发语言
shehuiyuelaiyuehao7 小时前
1计算机是如何工作的
java·计算机网络
letisgo58 小时前
JAVA 高级进阶07篇《@Transactional失效的8个场景:代理机制到传播行为》
java·面试·transactional·spring事务·aop动态代理
水域安全老周8 小时前
水趣钓鱼救生衣专利拆解:两级锁紧如何解决落水人衣分离
java·前端·网络
三8448 小时前
Java 模板注入(FreeMarker) · 02 · 模板引擎与 FreeMarker 语法
java·开发语言·web安全·freemarker
暮雨哀尘9 小时前
Java 基础练习(一):创建类并调用对象
java·开发语言