344. 反转字符串

Problem: 344. 反转字符串

思路

双指针法,left right 同时向中间移动一边移动一边交换

问题

int right = s.size();自己看看哪里错了

复杂度

  • 时间复杂度:

$O(n)$

  • 空间复杂度:

$O(1)$

Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41



void swap(int& a,int& b) {

    a = a ^ b;

    b = a ^ b;

    a = a ^ b;  

}



class Solution {

public:

    void reverseString(vector<char>& s) {

        int left = 0;

        int right = s.size() - 1;



        while(left < right) {

            swap(s[left],s[right]);

            left++;

            right--;

        }

    }

};