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--;
        }
    }
}
相关推荐
测试仪器廖生135902563854 小时前
罗德与施瓦茨 FSP13频谱分析仪FSP30
网络·人工智能·算法
happymaker06264 小时前
LeetCodeHot100——560.和为K的子数组
算法
dtq04244 小时前
C语言刷题数组5,6(求平均值,求最大值)
c语言·数据结构·算法
郭梧悠4 小时前
Hash算法入门Hash冲突解决方案
算法·哈希算法
洛水水5 小时前
【力扣100题】81.寻找两个正序数组的中位数
数据结构·算法·leetcode
happymaker06265 小时前
LeetCodeHot100——155.最小栈
算法
洛水水5 小时前
【力扣100题】85.每日温度
算法·leetcode·职场和发展
Coder-magician5 小时前
《代码随想录》刷题打卡day15:二叉树part05
数据结构·c++·算法
Kurisu_红莉栖5 小时前
力扣56合并区间
算法·leetcode
Irissgwe6 小时前
算法的时间复杂度和空间复杂度
数据结构·c++·算法·c·时间复杂度·空间复杂度