算法-字符串篇01-反转字符串
标题
力扣题目链接
题目描述
编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。
不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。
解题思路
没什么好说的,双指针就行。
题解
class Solution {
public:
void reverseString(vector<char>& s) {
if(s.size() <= 1){
return;
}
int l = 0, r = s.size() - 1;
char temp;
while(l < r){
temp = s[l];
s[l] = s[r];
s[r] = temp;
l++;
r--;
}
}
};
总结
理解了双指针就能做到原地反转了,也可以用栈来实现,估计会慢一些。