面试题 01.09. 字符串轮转

知识浅谈 🐄🐄🐄🐄🐄大佬
后端领域优质创作者
博客专家认证
2022-09-29 09:34:32

题意

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

示例1:

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

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

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

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

题解

解法一:

class Solution {
    public boolean isFlipedString(String s1, String s2) {
        int len1 = s1.length();
        int len2 = s2.length();
        if(len1!=len2) return false;
        if(s1.equals("")) return true;
        for(int i=1;i<=len1;i++){
            if(s1.substring(0,i).equals(s2.substring(len2-i,len2))){
                if(s1.substring(i,len1).equals(s2.substring(0,len2-i))) return true;
            }
        }
        return false;
    }
}

img

解法二:

class Solution {
    public boolean isFlipedString(String s1, String s2) {
        int len1 = s1.length();
        int len2 = s2.length();
        if(len1!=len2) return false;
        s1=s1+s1;
        if(s1.indexOf(s2)!=-1) return true;
        return false;
    }
}

img

...全文
129 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
CSDN-Ada助手 2023-01-13
  • 打赏
  • 举报
回复
您可以前往 CSDN问答-Java 发布问题, 以便更快地解决您的疑问

9,509

社区成员

发帖
与我相关
我的任务
社区描述
知识浅谈(万道面试题)社区,旨在为找工作的小伙伴提供技术内容共享学习平台,助力每位小伙伴找到好工作,欢迎各位小伙伴的加入。
jvm小程序java 个人社区 吉林省·长春市
社区管理员
  • 知识浅谈
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

【社区倡导与禁止】

  • 社区倡导积极发帖,互相交流技术问题,学习心得。
  • 社区不限制技术领域,后端内容增加加精权重
  • 社区禁止发布低俗、不健康的内容

【社区积分规则】

  • 在社区「发帖」得10积分
  • 内容被管理员「加精」得10积分
  • 点赞他人内容得1积分
  • 评论内容得2积分

试试用AI创作助手写篇文章吧