双指针
解题思路
初始化 left、right 指针,分别指向数组的第一位和最后一位元素;
交换 left、right 指针位置的元素,不断中间移动,直到 left、right 相遇后停止;
复杂度
-
时间复杂度:
O(n)
; -
空间复杂度:
O(1)
;
代码实现
var reverseString = function (s) {
let left = 0;
let right = s.length - 1;
while (left < right) {
[s[left], s[right]] = [s[right], s[left]];
left++;
right--;
}
return s;
};
参考资料
leetcode🧑💻 76. 最小覆盖子串
上一篇