数据解构和算法

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));
上一篇下一篇

猜你喜欢

热点阅读