49.算法->反转数组
2022-02-11 本文已影响0人
wo不是黄蓉
day2:算法->反转数组
- 利用数组的
reverse
方法- 使用双指针。
1.reverse方法
var reverseString = function (s) {
return s.reverse();
};
2.使用两数交换的方法
假设反转前字符数组为 s[0] s[1] s[2] ... s[N - 1],那么反转后字符数组为 s[N - 1] s[N - 2] ... s[0]。比较反转前后下标变化很容易得出 s[i] 的字符与 s[N - 1 - i] 的字符发生了交换的规律
作者:LeetCode-Solution
链接:https://leetcode-cn.com/problems/reverse-string/solution/fan-zhuan-zi-fu-chuan-by-leetcode-solution/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
function reverseString1(s) {
// for (let left = 0, right = s.length - 1; left < right; ++left, --right) {
// [s[left], s[right]] = [s[right], s[left]];
// }
let left = 0,
right = s.length - 1;
while (left < right) {
[s[left], s[right]] = [s[right], s[left]];
left++;
right--;
}
return s;
}
function reverseArray(arr) {
for (let i = 0; i < arr.length / 2; i++) {
let temp = arr[i];
arr[i] = arr[arr.length - 1 - i];
arr[arr.length - 1 - i] = temp;
}
return arr;
}
let str = ["h", "e", "l", "l", "o"];
console.log(reverseString1(str));