前一篇leetcode刷题日记我们讲到了双指针这一种的经典中的经典解题方法。今天呢我们继续来给大家分享一道leetcode中双指针的常见题目,解题方法也很简单,相信长期刷算法题的人都做得出来的。现在上题目:
博主刚开始看到这道题目,第一反应想到的是vector动态数组的逆序(利用修改sort的第三个参数,这前面有讲到的)。而想起今天的主题——双指针,就想到了利用指针从两端向中间靠来交换字符(有点刚开始学C语言时的感觉,hhh)。
下面是利用的双指针的解题方法:
class Solution {
public:
void reverseString(vector<char>& s)//这里传入动态数组s
{
int n = s.size();//定义这个动态数组大小
for (int left = 0, right = n - 1; left < right; ++left, --right)
{
swap(s[left], s[right]);//交换两个字符,利用动态数组的swap交换方法(不熟悉的请去看一 下博主写的c++常见容器vector
)
}
};
本贴为博主亲手整理。如有错误,请评论区指出,一起进步。谢谢大家的浏览.
329

被折叠的 条评论
为什么被折叠?



