反转字符串
题目 反转字符串
思路分析
reverse可以直接做
既然要考验双指针那就麻烦点吧
其实就是一个指针从0开始往右一个指针从size-1开始往左 交换swap
那既然都这样了 不如再练一下异或做交换呢
代码实现
//1
class Solution {
public:
void reverseString(vector<char>& s) {
reverse(s.begin(),s.end());
}
};
//2
class Solution {
public:
void reverseString(vector<char>& s) {
for(int i=0,j=s.size()-1;i<j;i++,j--)
{
char tmp=s[i];
s[i]=s[j];
s[j]=tmp;
}
}
};
//3
class Solution {
public:
void reverseString(vector<char>& s) {
for(int i=0,j=s.size()-1;i<j;i++,j--)
{
s[i]=s[i]^s[j];
s[j]=s[i]^s[j];
s[i]=s[i]^s[j];
}
}
};
同类题型
视频讲解
⬅️ 使数组异或等于 K 的最少运算次数 🏠 00-刷题理模型 ➡️ 按要求计算
💬 评论