欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

双指针算法 | 力扣344. 反转字符串

发布时间:2025/3/20 编程问答 38 豆豆
生活随笔 收集整理的这篇文章主要介绍了 双指针算法 | 力扣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. 反转字符串的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。