反转字符串

反转字符串最常见的方法就是设置两个指针(指向字符串的头和尾),然后头尾交换知道左边的指针不小于右边指针为止。
但我遇到一个题要求不能再分配额外的空间,,,,,
这个问题和交换两个数的值类似
我们知道俩个数字交换可以用设置中间变量实现(因为简单就不举例了),也可以用异或实现,例如:

int a=1;
int b=2;
a=a^b;
b=a^b;
a=a^b;

这样我们就交换了a,b的值,那我们同样可以用这种方法来逆置字符串
让头和尾的字符通过按位异或来交换


void reverseString(char* s, int sSize){int i=0;int j=0;for(i=0,j=sSize-1;i<j;i++,j--){s[i]=s[i]^s[j];s[j]=s[i]^s[j];s[i]=s[i]^s[j];}
}

反转字符串(不分配额外的内存)相关推荐

  1. LeetCode实战:反转字符串

    题目英文 Write a function that reverses a string. The input string is given as an array of characters ch ...

  2. Suzy找到实习了吗Day 8 | 字符串开始啦 344. 反转字符串,541. 反转字符串 II,剑指 Offer 05. 替换空格,151. 反转字符串中的单词,左旋转字符串

    这里是目录 344. 反转字符串 题目 Solution 541. 反转字符串 II 题目 Solution(v1) Solution(v2) 剑指 Offer 05. 替换空格 做题记录 151. ...

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

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

  4. 四、字符串(1):反转字符串

    https://leetcode-cn.com/problems/reverse-string/ 编写一个函数,其作用是将输入的字符串反转过来.输入字符串以字符数组 char[] 的形式给出.不要给另 ...

  5. (递归)LeetCode基础练习,反转字符串(递归和非递归算法)C++ Day1打卡

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

  6. LeetCode简单题之反转字符串

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

  7. 算法-------反转字符串

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

  8. Leetcode334反转字符串[C++题解]:双指针

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

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

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

最新文章

  1. Python divmod方法
  2. [原] XAF 添加日期筛选下拉选择
  3. Java实现归并排序 Merge Sort
  4. Picasa——万能图片查看
  5. php 图片上传预览(转)
  6. centos 对已有卷扩容_centos7 逻辑卷扩容
  7. JUnit 5 –基础
  8. 成功人士都是这样逼出来的
  9. 03、数据类型(02)
  10. 【白皮书下载】2020中国社交零售白皮书-BCGx腾讯.pdf
  11. html弹出保存文件对话框_初步了解CAD的模板文件
  12. ValueAnimator 使用注意事项
  13. python怎么设置为中文-python设置中文界面实例方法
  14. Redis入门到精通(2021版本)视频教程
  15. TokenInsight 对话首席——加密通证期货世界,究竟是投机还是金融工具?
  16. latex怎么看论文字数_如何使用LaTeX完成一篇论文的基本排版
  17. 第一章 一大波数正在靠近———排序
  18. UML中关系(4+4)
  19. 2014、2015年国家级虚拟仿真实验教学中心入选名单
  20. 电子商务系统怎么开发,有哪些流程_OctShop

热门文章

  1. Arduino基础项目篇-基于Arduino的智能小车
  2. #P07751. 龟兔赛跑
  3. LaTeX中和Word中打公式的区别,求和符号
  4. android6.0 挂断电话流程分析(一)
  5. 获取keytab文件
  6. 色噪声的产生及MATLAB实现
  7. 前后端开发-springboot项目/java搭配vue获取谷歌验证码
  8. 计算机二级vba知识点,计算机二级--VBA程序
  9. 滴滴夜莺V4发布,运维监控之利器!
  10. 零伽壹链改研究:Facebook all in 元宇宙,一个全新的时代即将开启