这些力扣题目来源AI推荐karshey博主目录344.反转字符串通过541.反转字符串II通过151.反转字符串中的单词通过28.找出字符串中第一个匹配项的下标KMP通过459.重复的子字符串KMP通过344.反转字符串通过344.反转字符串is.length/2 翻转终止条件不能有等号。因为很可能会多翻转一次。/** * param {character[]} s * return {void} Do not return anything, modify s in-place instead. */ // s [h,e,l,l,o] s[A, ,m,a,n,,, ,a, ,p,l,a,n,,, ,a, ,c,a,n,a,l,:, ,P,a,n,a,m,a] var reverseString function(s) { for(let i0;is.length/2;i){ let temps[i]; s[i]s[s.length-i-1]; s[s.length-i-1]temp; } return s; }; console.log(reverseString(s));541.反转字符串II通过541.反转字符串II字符串substr可以取子/** * param {string} s * param {number} k * return {string} */ // s abcdefg, k 2 s abcd, k 2 var reverseStr function(s, k) { let ans for(let i0;is.length;i2*k){ let former (s.substr(i,k)).split().reverse().join(); let later s.substr(ik,k); ansformerlater; } return ans; }; console.log(reverseStr(s,k));151.反转字符串中的单词通过151.反转字符串中的单词数组的filter方法可以筛选符合标准的元素s a good example /** * param {string} s * return {string} */ var reverseWords function(s) { return s.split( ).filter(itemitem!).reverse().join( ); }; console.log(reverseWords(s));28.找出字符串中第一个匹配项的下标KMP通过28.找出字符串中第一个匹配项的下标KMPindexOf可以用来查找是否有元素存在于数组、字符串let haystack sadbutsad, needle sad /** * param {string} haystack * param {string} needle * return {number} */ var strStr function(haystack, needle) { return haystack.indexOf(needle); }; console.log(strStr(haystack,needle)); // let test [9,7,4,2].indexOf(4) // console.log(test);459.重复的子字符串KMP通过459.重复的子字符串KMP超出输出限制 -- 力扣报错 是因为忘记删除调试用的console.log思路如果一个字符串可以由重复的子串组成证明它的因数之一包含1可以作为子串的长度。先收集因数然后遍历查询// s abab s abcabcabcabc // s bb /** * param {string} s * return {boolean} */ var repeatedSubstringPattern function(s) { let record[] let result false; for(let i1;is.length;i){ if(s.length%i0) record.push(i); } console.log(record); for(let irecord.length-1;i0;i--){ let subs.substr(0,record[i]) let this_round true; for(let jrecord[i];js.length;jrecord[i]){ let temps.substr(j,record[i]); if(sub!temp) { this_roundfalse; } } if(this_round) { return true; }; } return result; }; console.log(repeatedSubstringPattern(s));