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的使用方法。

相关推荐
当归102410 小时前
SQL Server死锁排查实战指南
java·服务器·网络
echoyu.10 小时前
消息队列-初识kafka
java·分布式·后端·spring cloud·中间件·架构·kafka
little_xianzhong10 小时前
关于对逾期提醒的定时任务~改进完善
java·数据库·spring boot·spring·mybatis
百锦再10 小时前
脚本语言的大浪淘沙或百花争艳
java·开发语言·人工智能·python·django·virtualenv·pygame
小猪咪piggy10 小时前
【JavaEE】(23) 综合练习--博客系统
java·数据库·java-ee
周航宇JoeZhou10 小时前
JP4-7-MyLesson后台前端(五)
java·前端·vue·elementplus·前端项目·mylesson·管理平台
David爱编程10 小时前
从 JVM 到内核:synchronized 与操作系统互斥量的深度联系
java·后端
渣哥10 小时前
Java Set 不会重复?原来它有“记仇”的本事!
java
一叶飘零_sweeeet10 小时前
从 0 到 1 攻克订单表分表分库:亿级流量下的数据库架构实战指南
java·数据库·mysql·数据库架构·分库分表
苹果醋310 小时前
数据库索引设计:在 MongoDB 中创建高效索引的策略
java·运维·spring boot·mysql·nginx