递归解法:
class Solution {
public:
void reverseString(vector<char>& s) {
helper(s.begin(), --s.end());
}
void helper(vector<char>::iterator begin,vector<char>::iterator end)
{
if(begin==end) return;
swap(*begin,*end);
helper(begin+1,end-1);
}
};
迭代解法:
class Solution {
public:
void reverseString(vector<char>& s) {
for(int i = 0, j = s.size()-1; i < s.size()/2; i++, j--)
{
swap(s[i],s[j]);
}
}
};