力扣做题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 };