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 码表中的可打印字符

class Solution {public void reverseString(char[] s) {for (int i = 0, j = s.length - 1; i < j; i++, j--) {char c = s[i];s[i] = s[j];s[j] = c;}}
}
class Solution {public void reverseString(char[] s) {for (int i = 0, j = s.length - 1; i < j; i++, j--) {s[i] ^= s[j];   // 构造 a ^ b 的结果,并放在 a 中s[j] ^= s[i];   // 将 a ^ b 这一结果再 ^ b ,存入b中,此时 b = a, a = a ^ bs[i] ^= s[j];   // a ^ b 的结果再 ^ a ,存入 a 中,此时 b = a, a = b 完成交换}}
}
class Solution {public void reverseString(char[] s) {for (int i = 0; i < s.length >> 1; i++) {s[i] ^= s[s.length - i - 1];s[s.length - i - 1] ^= s[i];s[i] ^= s[s.length - i - 1];}}
}

LeetCode 344. 反转字符串【字符串,双指针】相关推荐

  1. leetcode 344. 反转字符串 541. 反转字符串 II 双指针解

    目录 leetcode 344.反转字符串 1.题目 2.思考 leetcode 541. 反转字符串 II 1.题目 2.思考 leetcode 344.反转字符串 1.题目 2.思考 典型的双指针 ...

  2. leetcode——344. 反转字符串

    leetcode--344. 反转字符串 问题概述: 编写一个函数,其作用是将输入的字符串反转过来.输入字符串以字符数组 char[] 的形式给出. 不要给另外的数组分配额外的空间,你必须原地修改输入 ...

  3. 代码随想录算法训练营第08天 | LeetCode 344.反转字符串,541. 反转字符串2,剑指Offer 05.替换空格,151.翻转字符串里的单词,剑指Offer58-II.左旋转字符串

    LeetCode [344. 反转字符串] 题目:编写一个函数,其作用是将输入的字符串反转过来.输入字符串以字符数组 s 的形式给出. 不要给另外的数组分配额外的空间,你必须**原地修改输入数组**. ...

  4. [leetcode]344.反转字符串

    编写一个函数,其作用是将输入的字符串反转过来.输入字符串以字符数组 s 的形式给出. 不要给另外的数组分配额外的空间,你必须原地修改输入数组.使用 O(1) 的额外空间解决这一问题. 示例 1: 输入 ...

  5. Leetcode 344. 反转字符串 (每日一题 20210812)

    编写一个函数,其作用是将输入的字符串反转过来.输入字符串以字符数组 char[] 的形式给出.不要给另外的数组分配额外的空间,你必须原地修改输入数组.使用 O(1) 的额外空间解决这一问题.你可以假设 ...

  6. LeetCode 344 反转字符串

    原题链接 解题思路:双指针首位交换,两个指针重合遍历交换完成 class Solution { public:void reverseString(vector<char>& s) ...

  7. Leetcode 344. 反转字符串 解题思路及C++实现

    解题思路: 直接将第 i 个字符 与 第 n-1-i 个字符交换,就可以了. class Solution { public:void reverseString(vector<char> ...

  8. Leetcode 206.反转链表(双指针迭代法和递归操作)

    传送门:力扣 双指针迭代:pre指向NULL,cur指向head,while循环不断移动cur和pre,并且把cur->next赋给temp暂时保存,然后让cur指向pre,重复操作直到pre到 ...

  9. 【必备算法】字符串(反转问题):LeetCode题 344. 反转字符串,541. 反转字符串 II,917. 仅仅反转字母

    写在前面,反转数组的思路很简单,就是借助双指针不断将首尾相应位置的字符交换.Java模板如下: public void reverseArray(char[] arr) {int i = 0, j = ...

最新文章

  1. sqserver对比oracle的区别,oracle和sqlserver比较
  2. linux手术后10年,经历正颌手术10年后遗症的我想说40岁做正颌手术我很后悔
  3. 5显示日志_如何在 Linux 中管理日志 | Linux 中国
  4. DOS批处理中对含有特殊字符的文件名的处理方法
  5. Raki的读paper小记:DEBERTA: DECODING-ENHANCED BERT WITH DISENTANGLED ATTENTION
  6. 【代码之路】我和代码的这两年,一路风雨,终见彩虹
  7. 用计算机弹极乐净土谱,极乐净土计算器谱子
  8. 数据结构 实验 c/c++ 六度空间 图 图论
  9. 阿郎恋曲(阿郎的故事)
  10. SpringBoot优缺点分析
  11. Unity TimeLine学习笔记
  12. IDEA突然没有SVN了是怎么回事
  13. QCA7000/QCA7005基于全志V3S Linux系统驱动移植
  14. 企业发放的奖金根据利润提成问题
  15. 【读书】张萌作品:《人生效率手册:如何卓有成效地过好每一天》
  16. 存储基础:LUN、ThickLUN与Thin LUN的联系和区别
  17. 大智慧、飞狐、分析家、通达信、钱龙、麒麟公式编辑教程大全
  18. Hibernate之两种一对一关系映射方式
  19. 虚拟计算机组装的软件,如何使用虚拟光驱安装软件
  20. 收藏!教育部发布67家出版社中小学春季教材电子版!网址都在这里,一键获取!...

热门文章

  1. Android8.1 MTK平台 系统需求定制
  2. JAVA中那些可爱的运算符
  3. 基于springboot床上家纺用品网上销售系统的设计与实现-计算机毕业设计源码+LW文档
  4. 解析移动清洁机器人的管理系统
  5. C语言null值初探
  6. 贵州最新建筑施工八大员之(安全员)考试题库及答案
  7. Web3.0中国峰会|专访华太资本创始人Fil WORLD中文社区早期布道者吴忠武
  8. “灵巧小工具”一个将图片处理成打印纸尺寸的丰富功能完全免费无水印的图片处理工具
  9. 2003服务器php套件,PHP套件FastCGI版发布,支持WindowsServer2003_护卫神
  10. Apple Safari 16.3 - macOS 专属免费浏览器 (独立安装包免费下载)