344. Reverse String

Problem:

Write a function that reverses a string. The input string is given as an array of characters char[].

Do not allocate extra space for another array, you must do this by modifying the input array in-place with O(1) extra memory.

You may assume all the characters consist of printable ascii characters.

Example 1:

Input: ["h","e","l","l","o"]
Output: ["o","l","l","e","h"]

Example 2:

Input: ["H","a","n","n","a","h"]
Output: ["h","a","n","n","a","H"]

思路

Solution (C++):

void reverseString(vector<char>& s) {
    int n = s.size();
    for (int i = 0; i < n/2; ++i) {
        swap(s[i], s[n-1-i]);
    }
}

性能

Runtime: 164 ms  Memory Usage: 13 MB

思路

Solution (C++):

void reverseString(vector<char>& s) {
    int i = 0, j = s.size()-1;
    while (i < j) {
        int a = int(s[i]), b = int(s[j]);
        a = a + b;
        b = a - b;
        a = a - b;
        
        s[i++] = char(a), s[j--] = char(b);
    }
}

性能

Runtime: 52 ms  Memory Usage: 13 MB

上一篇:[MRCTF2020]Ez_bypass 1


下一篇:nohup菜鸟gg