/**
* @param {string} s
* @param {number} k
* @return {string}
*/
var reverseStr = function (s, k) {
// 方法一
let len =s.length
let arr =s.split('')
for(let i =0;i<len;i+=2*k){
let l=i-1,r=i+k>len?len:i+k
while(++l<--r){
[arr[l],arr[r]] =[arr[r],arr[l]]
}
return arr.join('')
}
}
// 方法二
// const len = s.length;
// let resArr = s.split("");
// for(let i = 0; i < len; i += 2 * 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("");
// };
// const n = s.length;
// let arr = s.split('')
// // 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('');
// }
// 反转
// let reverse = function (s, l, r) {
// while (l < r) {
// [s[l], s[r]] = [s[r], s[l]]
// l++;
// r--
// }
// }
// 反转
// const reverse = (arr, left, right) => {
// while (left < right) {
// const temp = arr[left];
// arr[left] = arr[right];
// arr[right] = temp;
// left++;
// right--;
// }
// }