题目
编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。
不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。
解题思路
采用双指针的思路,我们很快就能解出题目
代码如下
//双指针法
#include <vector>
using namespace std;
class Solution
{
public:
void reverseString(vector<char>& s)
{
int left = 0;
int right = s.size() - 1;
while (left < right)
{
s[left] = s[left] + s[right];
s[right] = s[left] - s[right];
s[left] = s[left] - s[right];
left++;
right--;
}
}
};