LeetCode——344. 反转字符串

题解一

思路

这道题也很简单只需要循环到字符数组的一半,然后将前后对应数组元素做交换就可以了。

代码

java 复制代码
class Solution {
    public void reverseString(char[] s) {
        char temp = 'a';

        for(int i = 0; i < (s.length) / 2; i++){
            temp = s[i];
            s[i] = s[s.length - 1 - i];
            s[s.length - 1 - i] = temp;
        }
    }
}

题解二

附上《代码随想录》里的位运算的一个题解

代码随想录

代码

java 复制代码
class Solution {
    public void reverseString(char[] s) {
        int l = 0;
        int r = s.length - 1;
        while (l < r) {
            s[l] ^= s[r];  //构造 a ^ b 的结果,并放在 a 中
            s[r] ^= s[l];  //将 a ^ b 这一结果再 ^ b ,存入b中,此时 b = a, a = a ^ b
            s[l] ^= s[r];  //a ^ b 的结果再 ^ a ,存入 a 中,此时 b = a, a = b 完成交换
            l++;
            r--;
        }
    }
}
相关推荐
前端小L16 小时前
图论专题(十八):“逆向”拓扑排序——寻找图中的「最终安全状态」
数据结构·算法·安全·深度优先·图论·宽度优先
前端小L16 小时前
图论专题(十七):从“判定”到“构造”——生成一份完美的「课程表 II」
算法·矩阵·深度优先·图论·宽度优先
qq_4335545417 小时前
C++ 稀疏表
开发语言·c++·算法
2501_9418008817 小时前
5G技术引领下的智能制造革命:如何推动工业4.0发展
leetcode
小白程序员成长日记17 小时前
2025.11.21 力扣每日一题
算法·leetcode·职场和发展
小年糕是糕手18 小时前
【C++】C++入门 -- inline、nullptr
linux·开发语言·jvm·数据结构·c++·算法·排序算法
高洁0118 小时前
具身智能-普通LLM智能体与具身智能:从语言理解到自主行动
人工智能·深度学习·算法·aigc·知识图谱
星期天219 小时前
3.2联合体和枚举enum,还有动态内存malloc,free,calloc,realloc
c语言·开发语言·算法·联合体·动态内存·初学者入门·枚举enum
Andy19 小时前
回文子串数目--动态规划算法
算法·动态规划
sin_hielo19 小时前
leetcode 1930
算法·leetcode