49.算法->反转数组

作者: wo不是黄蓉 | 来源:发表于2022-02-11 16:50 被阅读0次

    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));
    

    相关文章

      网友评论

        本文标题:49.算法->反转数组

        本文链接:https://www.haomeiwen.com/subject/pffzkrtx.html