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--;
        }
    }
}
相关推荐
地平线开发者11 分钟前
征程 6 | 平台 QAT 精度一致性问题分析流程
算法·自动驾驶
mjhcsp13 分钟前
C++ Manacher 算法:原理、实现与应用全解析
java·c++·算法·manacher 算法
AlenTech30 分钟前
198. 打家劫舍 - 力扣(LeetCode)
算法·leetcode·职场和发展
Z1Jxxx33 分钟前
0和1的个数
数据结构·c++·算法
ldccorpora33 分钟前
Chinese News Translation Text Part 1数据集介绍,官网编号LDC2005T06
数据结构·人工智能·python·算法·语音识别
重生之后端学习34 分钟前
21. 合并两个有序链表
java·算法·leetcode·链表·职场和发展
源代码•宸35 分钟前
Leetcode—1266. 访问所有点的最小时间【简单】
开发语言·后端·算法·leetcode·职场和发展·golang
YuTaoShao1 小时前
【LeetCode 每日一题】712. 两个字符串的最小ASCII删除和——(解法一)记忆化搜索
算法·leetcode·职场和发展
知乎的哥廷根数学学派1 小时前
基于物理信息嵌入与多维度约束的深度学习地基承载力智能预测与可解释性评估算法(以模拟信号为例,Pytorch)
人工智能·pytorch·python·深度学习·算法·机器学习