【教3妹学算法】字符串轮转

2022-09-29  本文已影响0人  程序员小2
3妹

3妹:2哥,今天周日,出去玩一玩,爬爬山怎么样。
2哥:还出去玩呢,现在全国疫情又反复了, 前段时间上海疫情刚控制住,现在宿州泗县和无锡疫情又爆发了,还是注意一些,不要随便出去走动了。
3妹:哦,是哦,普通公民能做的就是尽量居家,不能防疫添麻烦。
2哥:对,还是在家打会儿游戏吧,来,带你打野。
3妹:切,我对打游戏没兴趣,我还是做几道题,然后看我的韩剧吧

讲课

题目:

字符串轮转。给定两个字符串s1和s2,请编写代码检查s2是否为s1旋转而成(比如,waterbottle是erbottlewat旋转后的字符串)。

示例1:

输入:s1 = "waterbottle", s2 = "erbottlewat"
输出:True
示例2:

输入:s1 = "aa", s2 = "aba"
输出:False
提示:

字符串长度在[0, 100000]范围内。
说明:

你能只调用一次检查子串的方法吗?

java代码:


class Solution {
    public boolean isFlipedString(String s1, String s2) {
        int m = s1.length(), n = s2.length();
        if (m != n) {
            return false;
        }
        if (n == 0) {
            return true;
        }
        for (int i = 0; i < n; i++) {
            boolean flag = true;
            for (int j = 0; j < n; j++) {
                if (s1.charAt((i + j) % n) != s2.charAt(j)) {
                    flag = false;
                    break;
                }
            }
            if (flag) {
                return true;
            }
        }
        return false;
    }
}

上一篇 下一篇

猜你喜欢

热点阅读