妙,实在是妙

旋转字符串

http://www.nowcoder.com/questionTerminal/80b6bb8797644c83bc50ac761b72981c

还有这么美妙的解法😄
思路之一:
1、假如 A="abcd" 则 A+A = "abcdabcd"
2、如果B 满足 题目的条件,则B 一定属于 A+A 里面的一个子串

import java.util.*;


public class Solution {
    /**
     * 旋转字符串
     * @param A string字符串 
     * @param B string字符串 
     * @return bool布尔型
     */
    public boolean solve (String A, String B) {
        //特殊情况处理
        if(A==null||B==null||A.length()<2||B.length()<2||A.length()!=B.length()){
            return false;
        }
        //日   这么巧妙
        return (A+A).contains(B);
    }
}

思路之二:
1、A和B长度不等,则返回 false
2、A个B长度相等,不断的切割 A为head和tail 两部分
3、如果B中同时包含 head和tail 两部分,则返回true
4、如果一直没找到,则返回false

import java.util.*;


public class Solution {
    /**
     * 旋转字符串
     * @param A string字符串 
     * @param B string字符串 
     * @return bool布尔型
     */
    public boolean solve (String A, String B) {
        // write code here
        if(A==null||B==null||A.length()<2||B.length()<2||A.length()!=B.length()){
            return false;
        }
        int i=1;
        while(i<A.length()){
            String headStr = A.substring(0,i);
            String tailStr = A.substring(i);
            if(B.contains(headStr)&&B.contains(tailStr)){
                return true;
            }
            i++;
        }
        return false;
    }
}
全部评论
第一个思路的确比较妙,没能想到
1 回复 分享
发布于 2021-02-19 16:18
思路二不对的,比如A='AaAaa',B='Aaaaa',如果把A拆分成'Aa'和'Aaa',B.contains(headStr)和B.contains(tailStr)都是True,显然是不正确的
点赞 回复 分享
发布于 04-05 17:36 北京
思路二好像不对 “abcda""eabcd" 返回的是true ,明显是错了
点赞 回复 分享
发布于 2022-07-04 19:21
思路一妙是妙 但是这题核心难道不就是查询么 还是kmp
点赞 回复 分享
发布于 2021-10-03 20:59
这题思想难道不是用KMP来做吗
点赞 回复 分享
发布于 2021-08-09 22:04
膜拜大佬
点赞 回复 分享
发布于 2021-07-30 11:02
妙蛙种子秒到家,说第一种不行的举个例子。
点赞 回复 分享
发布于 2021-06-10 21:16
第一个思路明显不对啊 还有很多其他情况也会通过 比如B只是A的一部分也会通过
点赞 回复 分享
发布于 2021-04-11 19:31
精辟
点赞 回复 分享
发布于 2021-04-10 00:11
第一个思路确实是妙啊!
点赞 回复 分享
发布于 2021-04-07 18:31
厉害
点赞 回复 分享
发布于 2020-12-23 16:21

相关推荐

12-10 22:48
武汉大学 Java
点赞 评论 收藏
分享
牛客77743221...:做一段时间,公司出钱送你去缅甸和泰国旅游
点赞 评论 收藏
分享
评论
34
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务