双指针算法 | 力扣344. 反转字符串
生活随笔
收集整理的这篇文章主要介绍了
双指针算法 | 力扣344. 反转字符串
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
- 本文讲解力扣344. 反转字符串问题
- 也就是使用双指针的思想
- 很简单的一道题
1 题目
编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。
不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题
你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。
2 示例
3 思路分析
- 使用 前后双指针;L 在首位; R 在 尾部
- L R 指向的字符串交换位置;
- 随后 L 后移,R 前移;继续交换
- 重复上述步骤,直到 L在R右边或者重合为止
4 代码
class Solution { public:void reverseString(vector<char>& s) {int R = s.size() - 1;int L = 0;while (L < R) {s[L] ^= s[R];s[R] ^= s[L];s[L] ^= s[R];L ++;R --;}} }; 《新程序员》:云原生和全面数字化实践50位技术专家共同创作,文字、视频、音频交互阅读总结
以上是生活随笔为你收集整理的双指针算法 | 力扣344. 反转字符串的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 双指针算法之滑动窗口 | 力扣76.最小
- 下一篇: 岛屿类-网格类问题-DFS | 力扣20