【数据结构与算法】力扣 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--
    }
};

思路拓展

相关推荐
医工交叉实验工坊1 小时前
R 语言 ComplexUpset 包实战:替代 Venn 图的高级集合可视化方案
算法·r语言
你我约定有三1 小时前
面试tips--JVM(2)--对象创建的过程
jvm·面试·职场和发展
东皇太星2 小时前
模运算(密码学/数论/算法)
数据结构·算法·密码学
一水鉴天3 小时前
整体设计 修订 之1 三“先”之“基” 与范畴重构:康德先验哲学的批判性程序化实现
java·人工智能·算法
剪一朵云爱着3 小时前
PAT 1086 Tree Traversals Again
算法·pat考试
JuneXcy3 小时前
流程控制语句(3)
c语言·算法
你我约定有三4 小时前
面试tips--JVM(3)--类加载过程
jvm·面试·职场和发展
Mercury_Lc4 小时前
【贪心 或 DFS - 面试题】小于n最大数
数据结构·c++·算法
凤年徐4 小时前
【数据结构】LeetCode160.相交链表 138.随即链表复制 牛客——链表回文问题
c语言·数据结构·c++·算法·leetcode·链表
qq_12498707534 小时前
基于改进蜂群优化算法的高频金融波动率预测系统 (源码+论文+部署+安装)
python·算法·金融·毕业设计·蜂群优化算法