【数据结构与算法】力扣 344. 反转字符串

题目描述

编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。

不要给另外的数组分配额外的空间,你必须**原地修改输入数组**、使用 O(1) 的额外空间解决这一问题。

示例 1:

复制代码
输入: s = ["h","e","l","l","o"]
输出: ["o","l","l","e","h"]

示例 2:

复制代码
输入: s = ["H","a","n","n","a","h"]
输出: ["h","a","n","n","a","H"]

提示:

  • 1 <= s.length <= 105
  • s[i] 都是 ASCII 码表中的可打印字符

分析解答

题目不让使用额外的数组分配空间,只能原地操作。

那就要双指针交换了。来呗,弄!😎

js 复制代码
/**
 * @param {character[]} s
 * @return {void} Do not return anything, modify s in-place instead.
 */
var reverseString = function (s) {
    let l = 0
    let r = s.length - 1
    while (l < r) {
        [s[l], s[r]] = [s[r], s[l]]
        l++
        r--
    }
};

思路拓展

相关推荐
晓宜14 分钟前
Java25 新特性介绍
java·python·算法
琼羽1091 小时前
第十七周-通用量子门与Deutsch-Jozsa算法
算法·量子计算
旺小仔.1 小时前
位运算专题
算法
xwl12121 小时前
10.6 作业
数据结构·算法
胡小禾4 小时前
JDK17和JDK8的 G1
jvm·算法
胖咕噜的稞达鸭6 小时前
算法入门:专题攻克一---双指针(3)有效三角形的个数 查找总价格为目标值的两个商品(剑指offer题目)
算法
逻辑留白陈10 小时前
Adaboost进阶:与主流集成算法对比+工业级案例+未来方向
算法
Learn Beyond Limits10 小时前
Mean Normalization|均值归一化
人工智能·神经网络·算法·机器学习·均值算法·ai·吴恩达
天选之女wow10 小时前
【代码随想录算法训练营——Day28】贪心算法——134.加油站、135.分发糖果、860.柠檬水找零、406.根据身高重建队列
算法·leetcode·贪心算法
Gohldg10 小时前
C++算法·贪心例题讲解
c++·数学·算法·贪心算法