还可以吧,之间大抵接触过
class Solution {
public:
void reverseString(vector<char>& s)
{
int l,r;
char temp;
l = 0;
r = s.size() - 1;
while(l <= r)
{
temp = s[l];
s[l] = s[r];
s[r] = temp;
l++;
r--;
}
}
};
https://leetcode.cn/problems/reverse-string-ii/
class Solution {
public:
string reverseStr(string s, int k)
{
int l=0 , r=k ;
if(s.size()<2)
return s;
while(r <=s.size())
{
int left = l ,right = r -1;
r+=2*k;
l+=2*k;
while(left < right)
{
int temp = s[left];
s[left] = s[right];
s[right] = temp;
left ++;
right --;
}
}//先把所有的能交换2*k的交换
int leng = s.size() - l;//最后剩下多少个元素
if(leng <= 2*k && leng > k)
{
r = l + k - 1;
while(l < r)
{
int t = s[l];
s[l] = s[r];
s[r] = t;
l++;
r--;
}
}
else
{
r = s.size() - 1;
while(l < r)
{
int t = s[l];
s[l] = s[r];
s[r] = t;
l++;
r--;
}
}
return s;
}
};