2025/1/7 8:14:44 来源:https://blog.csdn.net/2203_75300307/article/details/141196732
浏览:
次
关键词:字符串 - 反转字符串 II
541. 反转字符串 II
方法一:模拟(reverse方法分开写)
/*** @param {string} s* @param {number} k* @return {string}*/varreverseStr=function(s, k){const n = s.length;const arr = Array.from(s);for(let i =0; i < n; i +=2* k){reverse(arr, i, Math.min(i + k, n)-1);}return arr.join('');};constreverse=(arr, left, right)=>{while(left < right){const temp = arr[left];arr[left]= arr[right];arr[right]= temp;left++;right--;}}
方法二:reverse写一起
/*** @param {string} s* @param {number} k* @return {string}*/varreverseStr=function(s, k){const len = s.length;let resArr = s.split("");for(let i =0; i < len; i +=2* k){// 每隔2k个字符的前k个字符进行反转let l = i -1, r = i + k > len ? len : i + k;while(++l <--r)[resArr[l], resArr[r]]=[resArr[r], resArr[l]];}return resArr.join("");};