侧边栏壁纸
博主头像
GabrielxD

列車は必ず次の駅へ。では舞台は?私たちは?

  • 累计撰写 675 篇文章
  • 累计创建 128 个标签
  • 累计收到 26 条评论

目 录CONTENT

文章目录

【字符串】字符串轮转

GabrielxD
2022-09-29 / 0 评论 / 0 点赞 / 209 阅读 / 227 字
温馨提示:
本文最后更新于 2022-09-29,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

题目

面试题 01.09. 字符串轮转


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

示例1:

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

示例2:

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

提示:

  • 字符串长度在[0, 100000]范围内。

说明:

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

解题

方法一:构造循环字符串

思路

若两个字符串长度不同,直接返回 false,否则若两字符串互为旋转,则其一字符串必然为**另一字符串拓展两倍长度后(循环子串)**的子串。

代码

class Solution {
    public boolean isFlipedString(String s1, String s2) {
        return s1.length() == s2.length() && (s1 + s1).contains(s2);
    }
}
0

评论区