力扣做题09. 字符串轮转

这题还是比较简单的,用两个指针,进行循环比较
 
执行结果:通过
执行用时:60 ms, 在所有 JavaScript 提交中击败了70.76%的用户
内存消耗:41.5 MB, 在所有 JavaScript 提交中击败了39.71%的用户
通过测试用例:31 / 31

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

示例1:

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

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

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

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

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/string-rotation-lcci
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

/**
 * @param {string} s1
 * @param {string} s2
 * @return {boolean}
 */
var isFlipedString = function(s1, s2) {
    //两个指针,进行循环比较
    if(s1.length!==s2.length){return false}
    const len=s1.length;
    let isOk=s1===s2
    if(!isOk){
        for(let i=0;i<len;i++){
            let j=0;
            while(j<len&&s1[(i+j)%len]===s2[j]){
                j++
            }
            if(j===len){
                isOk=true
                break
            }
        }
    }
    
    return isOk
};

 

posted @ 2022-09-29 12:01  无工时代  阅读(15)  评论(0编辑  收藏  举报