输入:char[] 字符数组
思路:利用two pointers,交换两者字符。
class Solution {
public:
void reverseString(vector<char>& s) {
int i;
int j;
char c;
for(i=0;i<int((s.size()+1)/2);i++) //+1可处理奇数偶数长度
{
j = s.size()-1-i;
c = s[i];
s[i] = s[j];
s[j] = c;
}
}
};
隔壁大神启发了我,不用计算s的一半长度,只需考虑i<j时即可。
class Solution {
public:
string reverseString(string s) {
int i = 0, j = s.size() - 1;
while(i < j){
swap(s[i++], s[j--]);
}
return s;
}
};