LeetCode344 -反转字符串

LeetCode344 反转字符串

编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 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


思路

定义两个指针分别在两端,同时向中间逼近

交换两个指针所指的内容

直到 l 和 r 指针相遇退出循环

仅仅交换两字母,不用考虑是否s.length的奇偶性

java 复制代码
class Solution {
    public void reverseString(char[] s) {
        //分别定义左指针和右指针在字符串的两端
        int l = 0, r = s.length - 1;
        //当l < r 时
        while (l < r){
            //交换tmp
            char tmp = s[l];
            s[l] = s[r];
            s[r] = tmp;
            //指针同时向中间靠拢
            l++;
            r--;
        }
    }
}
相关推荐
阿Y加油吧15 小时前
两道位运算 / 摩尔投票经典题复盘:只出现一次的数字 & 多数元素
数据结构·算法·leetcode
Evand J15 小时前
【课题推荐】三模型IMM交互式多模型滤波算法,匀速/左转/右转目标跟踪,附MATLAB代码测试结果
算法·matlab·目标跟踪·无人机·imm·多模型
05候补工程师16 小时前
【408狂飙·数据结构】核心考点深度复盘:数组地址计算、特殊矩阵压缩存储与树的五大性质解题直觉
数据结构·笔记·线性代数·考研·算法·矩阵
青山师16 小时前
HashMap深度解析:哈希冲突、扩容机制与线程安全
算法·安全·哈希算法·java面试·hashmap源码
货拉拉技术16 小时前
私域转化率翻倍的秘密:我们把多模态Agent融进了私域营销
人工智能·算法·设计模式
WL_Aurora16 小时前
备战蓝桥杯国赛【Day 17】
算法·蓝桥杯
kcuwu.16 小时前
决策树与集成学习深度解析:从原理到实践
算法·决策树·集成学习
programhelp_17 小时前
2026 Fall Coinbase Software Engineer OA 真题分享与通关指南
算法
CQU_JIAKE17 小时前
5.19【A】
算法
数智工坊17 小时前
【FDA论文阅读】: 傅里叶域自适应——零训练成本的语义分割无监督域适配方法
论文阅读·人工智能·学习·算法·自动驾驶