diff --git a/problems/剑指Offer58-II.左旋转字符串.md b/problems/剑指Offer58-II.左旋转字符串.md index 3c3eaef0..8a60252c 100644 --- a/problems/剑指Offer58-II.左旋转字符串.md +++ b/problems/剑指Offer58-II.左旋转字符串.md @@ -165,6 +165,37 @@ func reverse(b []byte, left, right int){ ``` +javaScript: + +```js +/** + * @param {string} s + * @param {number} n + * @return {string} + */ + var reverseLeftWords = function(s, n) { + const strArr = Array.from(s); + reverse(strArr, 0, n - 1); + reverse(strArr, n, strArr.length - 1); + reverse(strArr, 0, strArr.length - 1); + return strArr.join(''); +}; + +// 翻转从 start 到 end 的字符 +function reverse(strArr, start, end) { + let left = start; + let right = end; + + while(left < right) { + // 交换 + [strArr[left], strArr[right]] = [strArr[right], strArr[left]]; + left++; + right--; + } +} +``` + +