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.算法->反转数组

    day2:算法->反转数组[https://leetcode-cn.com/problems/reverse-st...

  • iOS面试之算法大全

    算法 算法内容如下: 字符串反转 链表反转 有序数组合并 Hash算法 查找两个子视图的共同父视图 求无序数组当中...

  • iOS面试之算法模块

    算法 算法内容如下: 字符串反转 链表反转 有序数组合并 Hash算法 查找两个子视图的共同父视图 求无序数组当中...

  • iOS常用算法

    算法: 1、字符串反转2、链表反转3、有序数组合并4、hash算法5、查找两个自视图的共同父视图6、求无序数组当中...

  • 算法

    字符串反转 链表反转 有序数组合并 Hash算法 查找两个子视图的共同父视图 求无序数组中的中位数

  • [iOS面试]第11章 算法相关面试问题

    注意:本文主讲算法相关面试问题,包括字符串反转、链表反转、有序数组合并、Hash算法、查找两个子视图的共同父视图、...

  • 算法

    字符串反转 给定字符串"hello, world",实现将其反转。 链表反转 有序数组合并 Hash算法 在一个字...

  • Java语言——数组排序算法

    数组有很多常用的算法,包括冒泡排序、直接选择排序和反转排序。 一、冒泡排序 冒泡排序是最常用的数组排序算法之一,它...

  • 2018 iOS面试题---算法相关

    字符串反转 链表反转 有序数组合并 Hash算法 查找两个子视图的共同父视图 求无序数组当中的中位数 一、字符串反...

  • 算法相关

    字符串反转 链表反转 有序数组合并 Hash算法 查找两个子视图的共同父视图 求无序数组当中的中位数 一、字符串反...

网友评论

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

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