反转字符串(不分配额外的内存)
反转字符串
反转字符串最常见的方法就是设置两个指针(指向字符串的头和尾),然后头尾交换知道左边的指针不小于右边指针为止。
但我遇到一个题要求不能再分配额外的空间,,,,,
这个问题和交换两个数的值类似
我们知道俩个数字交换可以用设置中间变量实现(因为简单就不举例了),也可以用异或实现,例如:
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];}
}
反转字符串(不分配额外的内存)相关推荐
- LeetCode实战:反转字符串
题目英文 Write a function that reverses a string. The input string is given as an array of characters ch ...
- Suzy找到实习了吗Day 8 | 字符串开始啦 344. 反转字符串,541. 反转字符串 II,剑指 Offer 05. 替换空格,151. 反转字符串中的单词,左旋转字符串
这里是目录 344. 反转字符串 题目 Solution 541. 反转字符串 II 题目 Solution(v1) Solution(v2) 剑指 Offer 05. 替换空格 做题记录 151. ...
- 代码随想录算法训练营第08天 | LeetCode 344.反转字符串,541. 反转字符串2,剑指Offer 05.替换空格,151.翻转字符串里的单词,剑指Offer58-II.左旋转字符串
LeetCode [344. 反转字符串] 题目:编写一个函数,其作用是将输入的字符串反转过来.输入字符串以字符数组 s 的形式给出. 不要给另外的数组分配额外的空间,你必须**原地修改输入数组**. ...
- 四、字符串(1):反转字符串
https://leetcode-cn.com/problems/reverse-string/ 编写一个函数,其作用是将输入的字符串反转过来.输入字符串以字符数组 char[] 的形式给出.不要给另 ...
- (递归)LeetCode基础练习,反转字符串(递归和非递归算法)C++ Day1打卡
344反转字符串 题目描述如下 编写一个函数,其作用是将输入的字符串反转过来.输入字符串以字符数组 char[] 的形式给出. 不要给另外的数组分配额外的空间,你必须原地修改输入数组.使用 O(1) ...
- LeetCode简单题之反转字符串
题目 编写一个函数,其作用是将输入的字符串反转过来.输入字符串以字符数组 s 的形式给出. 不要给另外的数组分配额外的空间,你必须原地修改输入数组.使用 O(1) 的额外空间解决这一问题. 示例 1: ...
- 算法-------反转字符串
编写一个函数,其作用是将输入的字符串反转过来.输入字符串以字符数组 char[] 的形式给出.不要给另外的数组分配额外的空间,你必须原地修改输入数组.使用 O(1) 的额外空间解决这一问题.你可以假设 ...
- Leetcode334反转字符串[C++题解]:双指针
Leetcode334反转字符串 编写一个函数,其作用是将输入的字符串反转过来.输入字符串以字符数组 char[] 的形式给出. 不要给另外的数组分配额外的空间,你必须原地修改输入数组.使用 O(1) ...
- Leetcode 344. 反转字符串 (每日一题 20210812)
编写一个函数,其作用是将输入的字符串反转过来.输入字符串以字符数组 char[] 的形式给出.不要给另外的数组分配额外的空间,你必须原地修改输入数组.使用 O(1) 的额外空间解决这一问题.你可以假设 ...
最新文章
- Python divmod方法
- [原] XAF 添加日期筛选下拉选择
- Java实现归并排序 Merge Sort
- Picasa——万能图片查看
- php 图片上传预览(转)
- centos 对已有卷扩容_centos7 逻辑卷扩容
- JUnit 5 –基础
- 成功人士都是这样逼出来的
- 03、数据类型(02)
- 【白皮书下载】2020中国社交零售白皮书-BCGx腾讯.pdf
- html弹出保存文件对话框_初步了解CAD的模板文件
- ValueAnimator 使用注意事项
- python怎么设置为中文-python设置中文界面实例方法
- Redis入门到精通(2021版本)视频教程
- TokenInsight 对话首席——加密通证期货世界,究竟是投机还是金融工具?
- latex怎么看论文字数_如何使用LaTeX完成一篇论文的基本排版
- 第一章 一大波数正在靠近———排序
- UML中关系(4+4)
- 2014、2015年国家级虚拟仿真实验教学中心入选名单
- 电子商务系统怎么开发,有哪些流程_OctShop