题目:
编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。

不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。

你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。

示例 1:

输入:["h","e","l","l","o"]
输出:["o","l","l","e","h"]

示例 2:

输入:["H","a","n","n","a","h"]
输出:["h","a","n","n","a","H"]

算法一:双指针

public class Solution{public void ReverseString(char[] s){int left=0,right=s.Length-1;char temp;while (left<right&&s.Length>0){temp = s[left];s[left++] = s[right];s[right--] = temp;}}
}

执行结果:

算法二:异或

public class Solution
{public void ReverseString(char[] s) {int left=0,right=s.Length-1;while (left<right&&s.Length>0){s[left]^= s[right];s[right]^= s[left];s[left++] ^= s[right--];}}
}

执行结果:

LeetCode 49 反转字符串相关推荐

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

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

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

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

  3. C#版(击败97.76%的提交) - Leetcode 557. 反转字符串中的单词 III - 题解

    版权声明: 本文为博主Bravo Yeung(知乎UserName同名)的原创文章,欲转载请先私信获博主允许,转载时请附上网址 http://blog.csdn.net/lzuacm. Leetcod ...

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

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

  5. Leetcode 557 反转字符串中的单词

    Leetcode 557 反转字符串中的单词 题目描述: 给定一个字符串 s ,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序. 示例1: 输入:s = "Let's ...

  6. LeetCode 557. 反转字符串中的单词 III(栈)

    文章目录 1. 题目信息 2. 解题 2.1 栈 2.2 STL reverse() 1. 题目信息 给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序. 示例 1: ...

  7. Java实现 LeetCode 345 反转字符串中的元音字母

    345. 反转字符串中的元音字母 编写一个函数,以字符串作为输入,反转该字符串中的元音字母. 示例 1: 输入: "hello" 输出: "holle" 示例 ...

  8. LeetCode 557. 反转字符串中的单词 III

    文章目录 1. 题目描述 2. 解题思路 3. 代码实现 1. 题目描述 题目链接:557. 反转字符串中的单词 III 2. 解题思路 此题也可以直接在原字符串上进行操作,避免额外的空间开销. 当找 ...

  9. LeetCode 344. 反转字符串【字符串,双指针】

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

最新文章

  1. 邓海建:让网约车成为智慧城市的“老司机”
  2. Unity 2D游戏开发教程之游戏中精灵的跳跃状态
  3. java冗余_Java使用lombok消除冗余代码的方法步骤
  4. wordpress 调整段落空两,段落间的距离
  5. [BZOJ1001]: [BeiJing2006]狼抓兔子
  6. 汇总丨MySQL GTID技术点,看这一篇就够了!
  7. 分配系统盘容量应考虑三要素
  8. linux python tab补全_Linux设置python自动tab自动补全
  9. ARM Linux启动分析----head-armv.S内幕
  10. 工业AI落地场景案例实战,飞桨EasyDL让工业更智能
  11. 董卫凤:不服输是成功最好的催化剂
  12. 贴片电容的使用——硬件设计
  13. 海明码,码距,海明校验码
  14. 计算机桌面怎么设置时钟,怎么用DesktopDigitalClock设置电脑桌面时钟
  15. [调研] 人脸/车牌脱敏 调研
  16. s24.基于 Kubernetes v1.25 (二进制) 和 Docker部署高可用集群
  17. 修改服务器连接数,服务器修改连接数
  18. 自组织(竞争型)神经网络
  19. Less实战(五):函数(Functions)+ 注释(Comments)+ 导入(Importing)
  20. 深度细节 | Go 的 panic 的秘密都在这

热门文章

  1. 单片机补充案例--stc89c52的P4口使用
  2. Grails GSP 标签集合
  3. cl命令行编译 报错 无法打开文件: “iostream”“libcpmt.lib”“kernel32.lib”“libucrt.lib”
  4. c语言字符叠加,电梯楼层字符叠加器JA-1012C
  5. bresenham直线画法
  6. gPhone开发简介
  7. gPhone与iPhone开发比较
  8. ThinkPad R400 VISTA换XP 所有驱动及程序安装一览表
  9. mysql不同锁解释_MySQL 各种锁理解总结
  10. Word里面插入公式后行距变宽的问题