反转字符串

题目 反转字符串

image-570110dd

思路分析

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];

        }

    }

};

同类题型

视频讲解


⬅️ 三角形数 🏠 00-刷题理模型 ➡️ 对撞指针